Examples of Typescript implementation of examples of design patterns described in the "Head First Design Patterns" by Eric Freeman, Elisabeth Robson, Bert Bates, and Kathy Sierra.
- Favour composition over inheritance
- Encapsulate what varies
- Program to interfaces, not implementations
- Strive for loosely coupled designs between objects that interact
- Depend on abstractions. Do not deppend on concrete classes
- Talk only to your friends.
- Don't call us, we'll call you
- A class shuld have only one reason to change
- Strategy
- Observer
- Decorator
- Factory
- Singleton
- Command
- Adapter and facade
- Template
- Iterator and composite
- State
- Compound
- MVC
- Bridge
- Chain of Responsibility
- Mediator
- Builder
- Prototype
- Memento
- Flyweight
- Visitor
- Proxy