Click here to Skip to main content
11,634,622 members (66,509 online)
Click here to Skip to main content
Add your own
alternative version

Illustrating Factory pattern with a very basic example

, 2 Oct 2012 CPOL 70.1K 2K 21
A simplified explanation of Factory pattern with sample C# .NET code.
FactoryPatternDemo.zip
Factory Pattern Demo
DesignPatterns.exe
DesignPatterns.vshost.exe
FactoryInvoice.dll
Invoice.dll
InvoiceInterface.dll
FactoryPatternProject-noexe.zip
Factory Pattern project
DesignPatterns
Choice
Properties
ChoiceInterface
Properties
DesignPatterns
bin
Debug
DesignPatterns.vshost.exe.manifest
Properties
Settings.settings
FactoryClass
Properties
FactoryPattern
Properties
Settings.settings
FactoryPatternProject.zip
bin
Debug
Invoice.dll
InvoiceInterface.dll
Release
obj
Debug
TempPE
bin
Debug
InvoiceInterface.dll
Release
obj
Debug
TempPE
DesignPatterns.exe
DesignPatterns.vshost.exe
DesignPatterns.vshost.exe.manifest
FactoryInvoice.dll
Invoice.dll
InvoiceInterface.dll
Release
obj
x86
Debug
TempPE
Settings.settings
bin
Debug
FactoryInvoice.dll
Invoice.dll
InvoiceInterface.dll
Release
obj
Debug
TempPE
bin
Debug
obj
x86
Debug
TempPE
Settings.settings
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ChoiceInterface;
using Choice;

namespace FactoryClass
{
    public class FactoryChoice
    {
        static public IChoice getChoiceObj(string cChoice)
        {
            IChoice objChoice=null;
            if (cChoice.ToLower() == "car")
            {
                objChoice = new clsCar();
            }
            else if (cChoice.ToLower() == "bike")
            {
                objChoice = new clsBike();
            }
            else
            {
                objChoice = new InvalidChoice();
            }
            return objChoice;
        }
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Rajesh Varma Buddaraju
Architect
United States United States
I am a Microsoft Certified Professional with 11 years of IT Professional experience with both Web and Windows Application using Microsoft Technologies/Tools such as ASP.NET using C#, VB.NET, ADO.NET, Entity Framework, Web Services, WCF Services, Restful Services, Java Script, XML, HTML, WPF, SSIS, SSRS, Silver light and Expression Blend, Entity Framework, Visual Basic 6.0 & Classic ASP.

You may also be interested in...

| Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.150728.1 | Last Updated 2 Oct 2012
Article Copyright 2012 by Rajesh Varma Buddaraju
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid