SOLID
SOLID is an acronym for five principles focused on designing maintainable and flexible object-oriented systems in software engineering. These rules present a core of best practices and highlight standards for quality application development.
It stands for:
- Single Responsibility Principle (SRP):
A module should have one, and only one, reason to change.A module should be responsible to one, and only one, user or stakeholder - Open/Closed Principle (OCP):
A software artifact should be open for extension but closed for modification.
In other words, it should be possible to extend software entities (such as classes, modules, or functions) without modifying them. - Liskov Substitution Principle (LSP): Objects of a base class should be replaceable by objects of a derived class without breaking the program.
- Interface Segregation Principle (ISP): Clients shouldn't have to rely on interfaces they don't need. It's better to create smaller, focused interfaces instead of a large, generic one.
- Dependency Inversion Principle (DIP): Software modules should depend on abstractions, not specific implementations.
References:
1.Robert C. Martin. (2018). Clean Architecture: A Craftsman's Guide to Software Structure and Design. ISBN 0-13-449416-4.