What are Software design principles?
- Software design principles represent a set of guidelines that helps us to avoid having a bad design.
- Associated to Robert Martin who gathered them in “Agile Software Development: Principles, Patterns, and Practices".
- According to Robert Martin there are 3 important characteristics of a bad design that should be avoided:
- Rigidity: It is hard to change because every change affects too many other parts of the system.
- Fragility: When you make a change, unexpected parts of the system break.
- Immobility: It is hard to reuse in another application because it can't be disentangled from the current application.
What does SOLID stands for?