Design Patterns

1. Essential Design Principle

The Abstraction Principle
The Divide and Conquer Principle
The Hierarchy Principle
The Single Responsibility Principle
The Liskov Substitution Principle
The Open Closed Principle
The Dependency Inversion Principle
The Interface Inversion Principle

2. Creational Patterns

Abstract Factory
Builder
Factory Method
Prototype
Singleton

3. Structural Patterns

Adapter
Bridge
Composite
Decorator
Facade
Flyweight
Proxy
Abstract Server

4. Behavioral Patterns

Chain of Responsibility
Command
Interpreter
Iterator
Mediator
Memento
Observer
State
Strategy
Template Method
Visitor
Model - View – Controller