These are the most important design principles that we have to keep in mind when we doing the development.
- Identify the aspects of your application that vary and separate them from what stays same
- Program to an interface not an implementation
- Favour composition over inheritence
- Strive for looslycoupled designs between objects that interact
- Classes should be open for extention close for modification
- Depend upon abstractions.Do not depend upon concrete classes
- Only talk to your friends (To maintain low level of coupling)
- Don't call us we'll call you (Super classes runing the show)
- A class should have only on reason to change
0 comments:
Post a Comment