OOP Design Patterns
Resources:
- GOF - "Gang of Four" Design Patterns
- HFDP - Head First Design Patterns
- MPHPDP - Mastering PHP Design Patterns
- PHP8OPP - PHP 8 Objects, Patterns and Practice
Creational Patterns
| Pattern | GOF | HFDP | MPHPDP | PHP8OPP | 
|---|---|---|---|---|
| Abstract Factory | Ch. 3 | - | Ch. 4 | Ch. 9 | 
| Builder | Ch. 3 | Ch. 17 | Ch. 4 | - | 
| Simple Factory | - | - | Ch. 4 | - | 
| Factory Method | Ch. 3 | Ch. 4 | Ch. 4 | Ch. 9 | 
| Prototype | Ch. 3 | Ch. 17 | Ch. 4 | Ch. 9 | 
| Singleton | Ch. 3 | Ch. 5 | Ch. 4 | Ch. 9 | 
| Lazy Initialization | - | - | Ch. 4 | - | 
Structural Patterns
| Pattern | GOF | HFDP | MPHPDP | PHP8OPP | 
|---|---|---|---|---|
| Adapter | Ch. 4 | Ch. 7 | Ch. 4 | - | 
| Bridge | Ch. 4 | Ch. 17 | Ch. 4 | - | 
| Composite | Ch. 4 | Ch. 9 | Ch. 4 | Ch. 10 | 
| Decorator | Ch. 4 | Ch. 3 | Ch. 4 | Ch. 10 | 
| Facade | Ch. 4 | Ch. 7 | Ch. 4 | Ch. 10 | 
| Flyweight | Ch. 4 | Ch. 7 | Ch. 4 | Ch. 10 | 
| Proxy | Ch. 4 | Ch. 11 | Ch. 4 | - | 
Behavioural Patterns
| Pattern | GOF | HFDP | MPHPDP | PHP8OPP | 
|---|---|---|---|---|
| Chain of Responsibility | Ch. 5 | Ch. 17 | Ch. 5 | - | 
| Command | Ch. 5 | Ch. 6 | Ch. 5 | Ch. 11 | 
| Interpreter | Ch. 5 | Ch. 17 | Ch. 5 | Ch. 11 | 
| Iterator | Ch. 5 | Ch. 9 | Ch. 5 | - | 
| Mediator | Ch. 5 | Ch. 17 | Ch. 5 | - | 
| Memento | Ch. 5 | Ch. 17 | Ch. 5 | - | 
| State | Ch. 5 | Ch. 10 | Ch. 5 | - | 
| Strategy | Ch. 5 | Ch. 10 | Ch. 5 | Ch. 11 | 
| Template Method | Ch. 5 | Ch. 8 | Ch. 5 | - | 
| Visitor | Ch. 5 | Ch. 17 | Ch. 5 | Ch. 11 | 
| Null Object | - | - | - | Ch. 11 | 
| Generator | - | - | Ch. 5 | - | 
| Specification | - | - | Ch. 5 | - | 
| Scheduled Task | - | - | Ch. 5 | - | 
Architectural Patterns
| Pattern | GOF | HFDP | MPHPDP | PHP8OPP | 
|---|---|---|---|---|
| Model-View-Controller | - | Ch. 12 | Ch. 6 | - | 
| MV* | - | - | - | - | 
| MVVC | - | - | - | - | 
| Service-Oriented | - | - | Ch. 6 | - | 
| Microservices | - | - | Ch. 6 | - | 
| Asynchronous Queuing | - | - | Ch. 6 | - | 
| Message Queue | - | - | Ch. 6 | - | 
| Serverless | - | - | - | - | 
| Ledger | - | - | - | - | 
| Blockchain | - | - | - | - | 
Other Resources: