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...