程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> .Net設計模式之簡單工廠模式(Simple Factory Pattern)

.Net設計模式之簡單工廠模式(Simple Factory Pattern)

編輯:關於.NET

一、簡單工廠模式簡介(Bref Introduction)

簡單工廠模式(Simple Factory Pattern)的優點是,工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態實例化相關的類,對於客戶端來說,去除了與具體產品的依賴

二、解決的問題(What To Solve)

客戶實例化對象時不需要關心該對象是由哪個子類實例化的。

三、簡單工廠模式分析(Analysis)

1、簡單工廠模式結構

IProduct接口:抽象產品類

ConcreteProduct類:產品類的具體實現

Simple Factory簡單工廠類

四.實例分析(Example)

1、場景

一個簡單計算器,具有簡單的加操作和減操作。結構如下圖所示

SimpleFactory:簡單工廠類。

Operation:抽象操作類

AddOperation:加法操作

SubOperation:減法操作

2、代碼

1、抽象操作類Operation,及其具體實現類AddOperation、SubOperation

/// <summary>
/// 抽象操作類
/// </summary>
public abstract class Operation
{
     public int numberA;
     public int numberB;
     public abstract int GetResult();
}
/// <summary>
/// 加法操作
/// </summary>
public class AddOperation : Operation
{
     public override int GetResult()
     {
        return (this.numberA + this.numberB);
     }
}
/// <summary>
/// 減法操作
/// </summary>
public class SubOperation : Operation
{
     public override int GetResult()
     {
         return (this.numberA - this.numberB);
     }
}

2、簡單工廠類SimpleFactory

/// <summary>
/// 簡單工廠類
/// </summary>
public class SimpleFactory
{
     public static Operation CreateOperation(string operation)
     {
         Operation o = null;

         switch (operation)
         {
             case "+":
                 o = new AddOperation();
                 break;
             case "-":
                 o = new SubOperation();
                 break;
         }
         return o;
     }
}

3、客戶端代碼

static void Main(string[] args)
{
     Operation operation1 = SimpleFactory.CreateOperation("+");
     operation1.numberA = 10;
     operation1.numberB = 20;
     Console.WriteLine("{0}+{1}={2}", operation1.numberA, operation1.numberB, operation1.GetResult());

     Operation operation2 = SimpleFactory.CreateOperation("-");
     operation2.numberA = 10;
     operation2.numberB = 20;
     Console.WriteLine("{0}+{1}={2}", operation2.numberA, operation2.numberB, operation2.GetResult());

     Console.Read();
}

3、實例運行結果

五、總結(Summary)

簡單工廠模式是比較簡單的一種設計模式,本文對此模式的概念及其設計結構圖簡單地進行了描述,最後以一個計算器的實例進行了說明。

出處:http://www.cnblogs.com/ywqu

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved