What are design patterns? Define basic classification of patterns - Creational, Structural and Behavioral patterns.A design pattern in Software is used to solve similar problems that occur in different scenarios. A design pattern is not a design that can be converted to a chunk of code. It can be considered as a solution that can be reused. A relation between classes and object is a design pattern in OOPL.
Creational design pattern: Helps in creation of objects and controlling any design issues. Abstract factory, factory, builder pattern are the examples.
Structural design pattern: Helps in defining relationships between entities. Adapter pattern, aggregate, Proxy pattern are the examples.
Behavioral design pattern: helps in realizing communication patterns between objects. Iterator pattern, strategy pattern, and state pattern are the examples.