• Uncategorized

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

avatar

Deepak Kamboj

Deepak Kamboj is a Solution Architect and Technology Enthusiast, located at Redmond, WA, having 14+ years of hands on experience in the IT industry.

You may also like...