Sunday, January 1, 2006

Design Principles

  • Identify the aspects of your application that vary and seperate them from what stays the same.
  • Take what varies and "encapsulate" it so it won't affect rest of your code.
  • Program to an interface, not an implementation. (Program to an interface really means program to a supertype.)
  • "Has-a" can be better than "is-a"
  • Strive for loosely coupled designs between objects that interact.
  • classes should be open for extension, but closed for modification.

1 comment:

Anonymous said...

Programcılık üzerine bu anlayışla bir bilgi paylaşım sitesi yapmak her zaman aklıma gelmiştir. Umarım bu site gelişir ve kendi domainine kavuşacak kadar da ilerler.