What is design principle? it is basically a set of guidline which solve non-functional requirement or functional requirement.
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: Immobility is the inability to reuse software from other projects or from parts of the same project.