Deisgn Patterns Principles
Design Patterns Principles
Design Principles List
- Identify the aspects of your application that vary and separate them from what stays the same.
- Program to an interface, not an implementation
- Favor composition over inheritance. (Has-a instead of Is-a)
- Strive for loosely coupled design between objects that interact. (minimal interdependency on other objects)
- Classes should be open for extension, but closed for modification. that is, such an entity can allow its behavior to be extended without modifying its source code.
- Depend upon abstractions. Do not depend on concrete classes.
- Principle of least knowledge - talk only to your immediate friends.
Bullet Points
- Knowing the OO basics does not make you a good OO designer
- Good OO designs are reusable, Extensible and maintainable.
- Patterns re proven object orientated experience.
- Patterns don't give you code, they give you general solutions to design problems.
- Patterns aren't invented, they are discovered
- Most patterns principles address issues of change in software
- Most patterns allow some part of a system to vary interdependently of all other parts.
- We often try to take what varies and encapsulate it
- Patterns provide a shared language that can maximize the value of your communication with other developers.
No comments:
Post a Comment