Design Patterns

Named, reusable answers to the design problems that keep coming back — and the judgement to know when plain code is the better answer

Design Patterns Crash Course

Twelve animated sections in five units: design principles (coupling and composition over inheritance); Singleton versus dependency injection, Builder, Prototype with a registry, and factories; Adapter, Facade, Decorator and Flyweight; Strategy and Observer; and when a language feature replaces a pattern — ending with a one-page pattern picker.

Start learning →

Design Patterns Detailed Course

39 sections in six units: coupling, UML class diagrams and the five SOLID principles; Factory Method, Abstract Factory, Builder, Prototype, Singleton and a dependency injection container built from scratch; Adapter, Bridge, Composite, Decorator, Facade, Flyweight and Proxy; Strategy, Template Method, Observer, Command, State, Chain of Responsibility, Iterator, Mediator, Memento, Visitor and Interpreter; Null Object, Value Object, Specification, Repository and Unit of Work, functional patterns, anti-patterns, refactoring toward patterns and testability; plus a cheat sheet, playbook and practice roadmap.

Start learning →