The Component Principles
The SOLID Principles guide us in designing understandable, easy-to-change, and reusable modules and classes. Without these principles, we would not know why a module is well designed or not. And if a class resists change, we can point to violations of the SOLID Principles.
If we didn’t have any principles to guide our software development efforts, then anything goes. And we know what code looks like when no rules and guidelines are pointing out the path of high maintainability.
According to Robert C. Martin, the Component Principles can be split into two distinct categories:
- Principles of Component Cohesion
- The Reuse/Release Equivalence Principle,
- The Common Closure Principle
- The Common Reuse Principle
- Principles of Component Coupling
- The Acyclic Dependencies Principle
- The Stable Dependencies Principle
- The Stable Abstractions Principle
We’ll cover off each principle over the coming weeks.