Design Patterns - tarunchhabra/parakalo GitHub Wiki
Creational Patterns- concerned with the way we create objects.
This pattern can be further divided into:
- class creation patterns
- object-Creational patterns.
While class-creation patterns use inheritance effectively in the instantiation process, object-creation patterns use delegation effectively to get the job done.
Singleton- lazy loaded, volatile, synchronized Builder- is used to build objects Factory Abstract Factory Prototype
State
Strategy
Builder Pattern:
The exercise of creating complex types can be simplified by using the builder pattern. A composite or an aggregate object is what a builder generally builds.
Formally, a builder pattern encapsulates or hides the process of building a complex object and separates the representation of the object and its construction. The separation allows us to construct different representations using the same construction process.
http://rwhansen.blogspot.com/2007/07/theres-builder-pattern-that-joshua.html
Structural patterns
**Structural patterns are concerned with the composition of classes i.e. how the classes are made up or constructed. **
These include:
Adapter Pattern Bridge Pattern Composite Pattern Decorator Pattern Facade Pattern Flyweight Pattern Proxy Pattern
Behavioral design patterns
Behavioral design patterns dictate the interaction of classes and objects amongst eachother and the delegation of responsibility.
Interpreter Pattern Template Pattern Chain of Responsibility Pattern Command Pattern Iterator Pattern Mediator Pattern Memento Pattern Observer Pattern State Pattern Strategy Pattern Visitor Pattern
For folks, who are rushing through the course for an upcoming interview, I would suggest going through all the creational design patterns, decorator, proxy, iterator, observer and visitor patterns. As you read through them, be sure to look at the Java framework's api examples pointed out in each lesson.