Day 1 — Building blocks
- What is a design pattern, when to use one, who benefits?
- Picking an algorithm on the fly with dependency injection
- Making code on the fly with factory and abstract factory
- Imitating jQuery with the chaining pattern
- Getting organised with the registry pattern
- Abstract classes and the template pattern
- Proxy objects
- Composition VS inheritance
- Strategy: composition with dependency injection
- State: changing your strategy on the fly
- Hiding a complex system behind a facade
- Square pegs in round holes with the adapter pattern
- The decorator pattern, the pool and the lazy pattern