Design principles

Table of Contents

Programming principles: https://java-design-patterns.com/principles/

  1. Encapsulate what varies
  2. Depend upon abstractions - Program to an interface
  3. Favor composition over inheritance
  4. Strive for loosely coupled designs between objects that interact
  5. The Open-Closed design principle
  6. The Dependency Inversion Principle
  7. The Principle of Least Knowledge

TODO

Take notes about Hollywood principle from Template Method pattern

Tags

  1. The SOLID design principles