ARTICLE

Factory Method Design Pattern using C#

Posted by Kalyan Bandarupalli Articles | Design & Architecture October 27, 2008
The factory method pattern is a creational design pattern used in software development to encapsulate the process of creating the objects.
Reader Level:

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 
    {
        public abstract Product GetProduct(); //Factory Method Declaration
   
}

class
concreteFactoryforProcuct1 : Factory
    {
        public override Product GetProduct() //Factory Method Implementation
           
{
                return new Product1();
            }
    }

class concreteFactoryforProcuct2 : Factory
    {
        public override Product GetProduct() //Factory Method Implementation
           
{
                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();
    }
}





 

Login to add your contents and source code to this article
post comment
     

Nice

Posted by satya rai Mar 02, 2011

Factory methods are not allow to call the constructor.

Posted by Subodh Gholap Aug 05, 2009
COMMENT USING
PREMIUM SPONSORS
Over-C is a holistic consortium of communications and technology specialists. We build, deploy and market both business as well as consumer products and solutions.
Join a Chapter
SPONSORED BY
  • PDF reports have never been easier to create. With our included WYSIWYG Designer, you can layout your reports, set up your data source and let DynamicPDF ReportWriter do the rest.
Get Career Advice from Experts