What design patterns are you going to use? What is the reason for using it? Solution Design pattern: Design pattern is a universal repeatable solution to a usually happening problem in software design. A design pattern is not a finished design that can be altered directly into code. There are three types of design patterns: Creational design pattern: These design patterns are regarding class instantiation. This pattern can be more divided into class formation patterns and object creational patterns Reason for using this patterns inheritance efficiently in the instantiation process and creates an instance of some families of classes. Structural design patterns: These design patterns are all about Class and Object work. Structural class creation patterns use inheritance to create interfaces. Structural object patterns explain ways to create objects to get new functionality. Reason for using this patterns it matches different classes and gives a tree structure of simple and composite objects. Behavioral design patterns: These design patterns are about all class objects communication. These patterns that is most especially worried with communication between objects. Reason for using these patterns it passes a request between a chain of objects and design to act as a default value of an object..