designPatterns
Source for design pattern examples with Java
design principles
- 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
- Strive for loosely coupled designs between objects that interact
- Classes should be open for extension, but closed for modification
- Depend upon abstractions. Do not depend upon concrete classes
- Talk only to your friends (Principle of Least Knowledge).
- Don't call us, we call you.