Factory Design Pattern using C#
The factory method pattern is a creational design pattern used in software development to encapsulate the process of creating the objects.
Concerns:
- Which object needs to be created.
- Managing the life time of the object.
- Managing the build-up and tear down concerns of the object.
Definition:
“Define an interface for creating an object, but let subclasses decide which class to instantiate”
C# Implementation of Factory method
abstract class Factory { //Factory Method Declaration public abstract Product GetProduct(); } ——————————————————————————————- class concreteFactoryforProcuct1 : Factory { //Factory Method Implementation public override Product GetProduct() { return new Product1(); } } ——————————————————————————————– class concreteFactoryforProcuct2 : Factory { //Factory Method Implementation public override Product GetProduct() { return new Product2(); } } ——————————————————————————————– interface Product { void GetDetails(); } class Product1 : Product { public void GetDetails() { Console.WriteLine("Product1 Details are Called"); } } class Product2 : Product { public void GetDetails() { Console.WriteLine("Product2 Details are called"); } } ——————————————————————————————– protected void Page_Load(object sender, EventArgs e) { Factory[] objFactories = new Factory[2]; objFactories[0] = new concreteFactoryforProcuct1(); objFactories[1] = new concreteFactoryforProcuct2(); foreach (Factory objFactory in objFactories) { Product objProduct = objFactory.GetProduct(); objProduct.GetDetails(); } } ——————————————————————————————–
References: dofactory.com