Back to: Design Patterns in C# With Real-Time Examples
Creational Design Pattern in C#
In this article, I am going to give a brief introduction to the Creational Design Pattern in C#. As part of this article, we are going to discuss the following three important things.
What is the Creational Design Pattern in C#?
According to Wikipedia, in software engineering, Creational Design Patterns are design patterns that deal with object creation mechanisms i.e. trying to create objects in a manner that is suitable to a given situation. In simple words, we can say that the Creational Design Pattern deals with Object Creation and Initialization. This Design Pattern gives the programmer more flexibility in deciding which objects need to be created for a given situation.
The Creational Design Patterns are categorized into two types. They are as follows:
- Object-Creational Patterns: Object-Creational Patterns deal with object creation. Here, it defers part of its object creation to another object.
- Class-Creational Patterns: Class-Creational Patterns deal with class instantiation. Here, it defers its object creation to subclasses.
When to use the Creational Design Pattern in Real-Time Applications?
In Real-Time Applications, the project is created with a lot of classes. A lot of classes mean we are dealing with a lot of objects. So we need to create different objects (like new Customer(), new Product(), new Invoice(), new Payment(), etc.) for an E-Commerce Application. If the object creation logic based on some condition is implemented in the client code, then it leads to lots of complicated logic in the client code. Client code means the class that is going to consume the Customer Object, Product Object, Invoice Object, etc. by calling the methods and properties of such objects.
That means if the object creation and initialization logic are not centralized, then it leads to a very complicated client code. The Creational Design Pattern helps us to centralize the object creation and initialization logic and depending upon the condition, it will create, initialize, and returns the appropriate object to the client, and then the client then can consume the object by calling the necessary methods and properties. If this is not clear at the moment, then don’t worry, once we start discussing the Creational Design Patterns, you will definitely understand this concept.
Examples of Creational Design Patterns in C#:
The following 6 Design Patterns Belong to the Creational Design Pattern Category.
- Factory Design Pattern
- Abstract Factory Design Pattern
- Singleton Design Pattern
- Builder Design Pattern
- Fluent Interface Design Pattern
- Prototype Design Pattern
In the next article, I am going to discuss the Factory Design Pattern in C# with Real-Time Examples. Here, in this article, I try to give a brief introduction to the Creational Design Pattern. I hope you understood the need and use of the Creational Design Pattern in C#.