Sunday, 3 May 2015

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