Design principles
Table of Contents
Programming principles: https://java-design-patterns.com/principles/
- Encapsulate what varies
- Depend upon abstractions - Program to an interface
- Favor composition over inheritance
- Strive for loosely coupled designs between objects that interact
- The Open-Closed design principle
- The Dependency Inversion Principle
- The Principle of Least Knowledge
TODO
Take notes about Hollywood principle from Template Method pattern