Wednesday 8 February 2012

Software Design Principles

3 important characteristics of a bad design that should be avoided:
  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.
  3. Immobility - It is hard to reuse in another application because it cannot be disentangled from the current applications.
Open Close Principle:
Open for extension and close for modification.

Interface Segregation Principle:
Clients should not be forced to depend upon interfaces that they don't use.

Single Responsibility Principle:
A class should have only one reason to change.

Liskov's Substitution Principle:
Derived types must be completely substitutable for their base types.

No comments:

Post a Comment