Phil Japikse explains SOLID software principles - Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion- and how to apply them using design patterns.
Alex Papadimoulis discusses avoiding over-engineering a program, presenting extensibility types used, extensibility design patterns, when to use them, and what happens when they are incorrectly used.
Michael Wood explains the importance of using patterns in software design, exemplifying with Adapter, Decorator, Command, and several Factory patterns.
Ralph Johnson presents several data parallelism patterns, including related Java, C# and C++ libraries from Intel and Microsoft, comparing it with other forms of parallelism such as actor programming.
Steve Ross-Talbot presents Savara, an open source project comprising from a set of tools enabling enterprise architects to validate various artifacts against other artifacts built in different phases of the development process based on the “Testable Architecture” methodology.
Joshua Bennett discusses immutable objects, what they are good for, when they are recommended to be used and when are to be avoided.
Ralph Johnson presents several data parallelism patterns, including related libraries from Intel and Microsoft, comparing it with other forms of parallel programming such as actor programming.
Kevlin Henney proposes a new look at design patterns from the perspective of the habitability of code, communication, exploration, empiricism, reasoning, incremental development, and design sharing.
Aino Vonge Corry reviews a number of well known design patterns showing that their implementation is simpler in functional languages because such languages have pattern-based constructs.
Udi Dahan discusses the Command Query Responsibility Segregation (CQRS) pattern and its relationship to Domain Driven Design (DDD), detailing on queries and commands, what they are and how they should be used in an asynchronous programming environment.
Jason Hogg makes a quick overview of security and application design followed by a more in-depth look at web services security, explaining the need for threat modeling through security design patterns. Hogg explains a number of design patterns related to processes, services and SOA security, detailing on how they can be applied to service-oriented systems.
Ralph Johnson presents a pattern language that he and his colleagues are working on in an attempt to solve the hard issues of parallel programming through a set of design patterns: Structural Patterns, Computational Patterns, Parallel Algorithm Strategy Patterns, Implementation Strategy Patterns, and Concurrent Execution Patterns.