In this section of System Design and Architecture we will see Gangs
of Four Design Patterns that is the collection of 23 design patterns from the book "Design Patterns: Elements of
Reusable Object-Oriented Software".
The GoF Design Patterns are broken into three categories: Creational Patterns for the creation of objects; Structural Patterns to provide relationship between objects; and finally, Behavioral Patterns to help define how objects interact.
Abstract Factory Design Pattern is a classic Gang of Four creational design pattern that is concerned with the creation of objects in an application. Abstract Factory design pattern is used to create instances of different classes of the same type using a factory class to separate the object creation logic from client program.