- Single Responsibility Principle
- Open Closed Principle
- Liskov Substitution Principle
- Interface Segregation Principle
- Dependency Inversion Principle
- S: https://www.baeldung.com/java-single-responsibility-principle
- O: https://www.baeldung.com/java-open-closed-principle
- L: https://www.baeldung.com/java-liskov-substitution-principle
- I: https://www.baeldung.com/java-interface-segregation
- D: https://www.baeldung.com/java-dependency-inversion-principle
- SOLID explained in https://www.baeldung.com/solid-principles
- code from: https://github.com/eugenp/tutorials/tree/master/patterns-modules/solid
- solid python