Advanced Design Patterns: Design Principles
Inheritance, encapsulation and polymorphism are the materials. They do not tell you how to arrange them, and arranged carelessly they produce software that breaks easily, resists change and cannot be reused. This course is the layer above: the principles that guide those decisions, one topic at a time.
4 of 14 topics have their article written so far. The rest are on the list, in this order.
Part 10/4
Introduction
Why object-oriented tools on their own are not enough, and what design principles add to them.
Part 20/9
The Principles
Nine principles, in the order the course teaches them: four rules of thumb first, then the five that make up SOLID.
- 5Encapsulate what varies
- 6Favor composition over inheritance
- 7Loose coupling
- 8Program to interfaces
- 9Single responsibility principle
- 10Open-closed principle
- 11Liskov's substitution principle
- 12Interface segregation principle
- 13Dependency inversion principle
Part 30/1
Conclusion
Where the principles lead next.
- 14Next steps