Why SOLID Principles
- When software grows, it becomes rigid, fragile, immobile, and viscous. This needs to be prevented.
- broad goal of the SOLID principles is to reduce dependencies so that engineers change one area of software without impacting others.
- Also, make designs easier to understand, maintain, and extend
- And, build adaptive, effective, and agile software.
What are SOLID Principles
- popular set of design principles that are used in object-oriented software development
- developed by Robert C. Martin in a 2000 essay, “Design Principles and Design Patterns
- S: Single Responsibility Principle
=> “A class should have one and only one reason to change, meaning that a class should have only one job.” - O: Open-Closed Principle
=> “Objects or entities should be open for extension but closed for modification.“
=> This means that a class should be extendable without modifying the class itself. - L: Liskov Substitution Principle
=> “Let q(x) be a property provable about objects of x of type T. Then q(y) should be provable for objects y of type S where S is a subtype of T.“ - I: Interface Segregation Principle
=> “A client should never be forced to implement an interface that it doesn’t use, or clients shouldn’t be forced to depend on methods they do not use.” - D: Dependency Inversion Principle
=> “Entities must depend on abstractions, not on concretions. It states that the high-level module must not depend on the low-level module, but they should depend on abstractions.”
Leave a Reply