Good Design:
1. Flexible (easy to change or extend),
2. Robust (reacts well to changes i.e. doesn’t break everywhere) and
3. Reusable (the parts of the system are very decoupled and we can extract them and use them in other projects)
Bad Design:
1. (Rigidity) It is hard to change because every change affects too many other parts of the system.
2. (Fragility) When you make a change, unexpected parts of the system break. Fragility is the tendency of a program to break in many places when a single change is made.
3. (Immobility) It is hard to reuse in another application because it cannot be disentangled from the current application. A design is immobile when the desirable parts of the design are highly dependent upon other details that are not desired.
No comments:
Post a Comment