SOLID Principles
Solid principles are principles on how we should deal with Software Design. There can be different Design smells and it lists how to deal with them.
SOLID Principles¶
- SRP - Single Responsibility Principle
- OCP - Open-Closed Principle
- LSP - Liskov Substitution Principle
- ISP - Interface Segregation Principle
- DIP - Dependency Inversion Principle
These principles are not bound to any [[technology]], you can apply them to any language. SOLID is not a goal, it can't really be measured .
Metaprinciples¶
SOLID architecture and design DRY - Don't repeat yourself KISS - Keep it simple, stupid Separation Of Concerns YAGNI - You ain't gonna need it Command Query Separation Principle Law of Demeter Principle of least astonishment Encapsulation General principles building APIs SOLID vs YAGNI