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.

Your progress

0 of 14

Start at 1

Take Your Design to the Next Level in Part 1

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