Friday, 30 June 2017

Factory Pattern Example Code in C#

In This Console Program I have Created an Interface and two Classes to implement the Interface.
Next, I created the factory class clsFactory, in which conditions are there to create object. In this class besically, method decides which class object to be created.
In the Main method I'm calling the Factory class.

See the below code:
using System;

namespace testDemo
{
    public interface IMath
    {
        int GetData(int num1int num2);
    }

    public class Addition : IMath
    {
        public int GetData(int num1int num2)
        {
            int Final = num1 + num2;
            return Final;
        }
    }

    public class Subtraction : IMath
    {
        public int GetData(int num1int num2)
        {
            int Final = num1 - num2;
            return Final;
        }
    }
    public class clsFactory
    {
        static public IMath CreateandGetObj(int choice)
        {
            IMath imath = null;

            switch (choice)
            {
                case 1:
                    imath = new Addition();
                    break;
                case 2:
                    imath = new Subtraction();
                    break;
                default:
                    imath = new Addition();
                    break;
            }
            return imath;
        }
    }

public class Program
    {
        static void Main()
        {
            Console.WriteLine("What Operation you Want?");
            Console.WriteLine("1: Addition");
            Console.WriteLine("2: Subtraction");
            Console.WriteLine("Enter you Option and press Enter: ");
            string i = Console.ReadLine();
            IMath ObjIntrface = null;
            ObjIntrface = clsFactory.CreateandGetObj(Convert.ToInt16(i));  // 1= Add, 2= subtract
            int res = ObjIntrface.GetData(47);
            Console.WriteLine(res);
            Console.ReadLine();
        }
    }

See the Output:

Related Posts:

  • Singleton Design PatternWhat is singleton pattern?The singleton pattern is one of the simplest design patterns:There are only two points in the definition of a singleton desi… Read More
  • SOLID Design Principles S.O.L.I.D: The First 5 Principles of Object Oriented Design S.O.L.I.D is an acronym for&… Read More
  • Clean Architecture What is Clean Architecture?Clean Architecture is a design pattern that separates an application into different layers based on their responsibility.&n… Read More
  • CQRS patternCQRS, or Command Query Responsibility Segregation, is a design pattern that separates the responsibilities of reading and writing data in a software s… Read More
  • Factory Design Pattern - C# Design patterns are general reusable solutions to common problems that occurred in software designing. There are broadly 3 categories of design patt… Read More

0 comments:

Post a Comment

Topics

ADFS (1) ADO .Net (1) Ajax (1) Angular (47) Angular Js (15) ASP .Net (14) Authentication (4) Azure (3) Breeze.js (1) C# (55) CD (1) CI (2) CloudComputing (2) Coding (10) CQRS (1) CSS (2) Design_Pattern (7) DevOps (4) DI (3) Dotnet (10) DotnetCore (20) Entity Framework (5) ExpressJS (4) Html (4) IIS (1) Javascript (17) Jquery (8) jwtToken (4) Lamda (3) Linq (10) microservice (4) Mongodb (1) MVC (46) NodeJS (8) React (10) SDLC (1) Sql Server (32) SSIS (3) SSO (1) TypeScript (3) UI (1) UnitTest (2) WCF (14) Web Api (16) Web Service (1) XMl (1)

Dotnet Guru Archives