This project is my note of the head First Design patterns awesome book by Eric Freeman & Elisabeth Robson (with Kathy Sierra & Bert Bates).
It has the book examples in order to understand each design patterns.
Designs patterns were found to solve problems and weren't invented. They apply OO basics and OO principles.
- Abstractions
- Encapsulation
- Polymorphism
- Inheritance
- Encapsulate what varies
- Favor composition over inheritance
- Program to interfaces, not implementations
- Strive for loosely coupled designs between objects that interact.
- Classes should be open for extension but closed for modification
- Depend on abstractions. Do not depend on concrete classes
- Talk only to your friends
- Don't call us, we will call you.
- A class have only one reason to change