Design Pattern
design pattern is a general repeatable solution to a commonly occurring problem in software design. Advantage:- They are reusable in multiple projects. They provide the solutions that help to define the system architecture. They provide transparency to the design of an application. They are well-proved and testified solutions since they have been built upon the knowledge and experience of expert software developers. Design patterns don?t guarantee an absolute solution to a problem. They provide clarity to the system architecture and the possibility of building a better system. Creational design patterns:- These design patterns are all about class instantiation. While class-creation patterns use inheritance effectively in the instantiation process, object-creation patterns use delegation effectively to get the job done. Abstract Factory:- Creates an instance of several families of classes Builder:- Separates object construction from its representation Factory Method