What is a Design Pattern?
A software design pattern is a reusable solution to a commonly occurred problem in software design. A design pattern can typically solve a recurring problem when building an application. These problems include object creation, hiding complexity from the client, and class/object composition.
We will look at the popular design patterns and how to implement them in Java and/or C#.
Creational – Design patterns that define how objects are created. The goal is to decouple the client from initializing the objects their selves.
- Factory – Parameter driven creational design pattern that does not expose the instantiation logic to the client.
- Singleton – Allows you to have one instance of an object that can be accessed throughout the application.
- Builder – Helps limit an objects construction complexity.
- Abstract Factory – Contains a Factory class that creates other factories.
- Prototype – Avoids costly creation of objects by creating a copy of an existing object.