The SOLID Principles:
https://www.freecodecamp.org/news/solid-principles-explained-in-plain-english/
- TheĀ Single Responsibility Principle
- TheĀ Open-Closed Principle
- TheĀ Liskov Substitution Principle
- TheĀ Interface Segregation Principle
- TheĀ Dependency Inversion Principle
Separation of Concerns
https://medium.com/@codebob75/domain-driven-design-ddd-from-customer-ideas-to-code-a83a005326e9
- A practice for dividing up code around specific responsibilities to improve maintainability, scalability, and readability.
- Includes concepts like Coupling, Cohesion, Abstraction, Repository classes & the MVC/PAC pattern.
Domain Driven Design
https://medium.com/@codebob75/domain-driven-design-ddd-from-customer-ideas-to-code-a83a005326e9
- Higher level software design approach for structuring code around the real-world business processes & language.
- Includes concepts like Domains, Ubiquitous Language, & Bounded Contexts.