Design Patterns
A design pattern is a well-described solution to a common software problem.
Benefits of using Design Patterns
Three Catagories of Java Design Patters
creational, structural, and behavioral design patterns.
Creational Design Patterns
Creational design patterns provide solution to instantiate an object in the best possible way for specific situations. The basic form of object creation could result in design problems or add unwanted complexity to the design. Creational design patterns solve this problem by controlling the object creation by different ways.
Five Examples of Creational Design Patterns
Structural Design Patterns
Structural patterns provide different ways to create a class structure, for example using inheritance and composition to create a large object from small objects
Seven Examples of Structural Design Patterns
Behavioral Design Patterns
Behavioral patterns provide solution for the better interaction between objects and how to provide lose coupling and flexibility to extend easily.
Examples of Design Patterns