1. 程式人生 > >Unity設計模式之簡單工廠模式

Unity設計模式之簡單工廠模式

*簡單工廠模式是屬於建立型模式,又叫做靜態工廠方法(Static Factory Method)模式,但不屬於23種GOF設計模式之一。簡單工廠模式是由一個工廠物件決定創建出哪一種產品類的例項。簡單工廠模式是工廠模式家族中最簡單實用的模式,可以理解為是不同工廠模式的一個特殊實現。*
 **為了更好的理解,下面以一個簡單的計算器的實現來講解**
    //運算元的基類
using System;
namespace AssemblyCSharp
{
    public class Operation
    {
        private double _numberA = 0;
        private
double _numberB = 0; public double NumberA { get{return _numberA;} set{_numberA = value;} } public double NumberB { get{return _numberB;} set{_numberB = value;} } public virtual double GetResult
() { double result = 0; return result; } } }

然後是每個操作符類的

using System;
namespace AssemblyCSharp
{
    class OperationAdd:Operation
    {
        public override double GetResult ()
        {
            double result = 0;
            result = NumberA + NumberB;
            return
result; } } class OperationSub:Operation { public override double GetResult () { double result = 0; result = NumberA - NumberB; return result; } } class OperationMul:Operation { public override double GetResult () { double result = 0; result = NumberA * NumberB; return result; } } class OperationDiv:Operation { public override double GetResult () { double result = 0; if (NumberB == 0) { throw new Exception("除數不能為0"); } result = NumberA / NumberB; return result; } } }

簡單工廠類

using UnityEngine;
using AssemblyCSharp;
using System.Collections;

public class OperationFactory  {


    public static Operation createOperate(string operate)
    {
        Operation oper = null;
        switch (operate) {
        case"+":
                oper = new OperationAdd();
            break;
        case"-":
                oper = new OperationSub();
            break;
        case"*":
                oper = new OperationMul();
            break;
        case"/":
                oper = new OperationDiv();
            break;
        }

        return oper;



    }


}

客戶端程式碼

using System;
using UnityEngine;
namespace AssemblyCSharp
{
    public class Client :MonoBehaviour
    {
        void Start()
        {
            Operation oper;
            oper = OperationFactory.createOperate ("/");
            oper.NumberA = 1;
            oper.NumberB = 0;
            double result = oper.GetResult ();
            Debug.Log (result);
        }
    }
}

相關推薦

Unity設計模式簡單工廠模式

*簡單工廠模式是屬於建立型模式,又叫做靜態工廠方法(Static Factory Method)模式,但不屬於23種GOF設計模式之一。簡單工廠模式是由一個工廠物件決定創建出哪一種產品類的例項。簡單工廠模式是工廠模式家族中最簡單實用的模式,可以理解為是不同工廠模

設計模式 簡單工廠模式詳解

技術分享 接口 create [] 幫助 cut 小蘿莉 filter 類之間的關系 定義:從設計模式的類型上來說,簡單工廠模式是屬於創建型模式,又叫做靜態工廠方法(Static Factory Method)模式,但不屬於23種GOF設計模式之一。簡單工廠模式是由一個工廠

Asp.Net 設計模式 簡單工廠模式

相關 如果 cnblogs 獲取 自動 ber c# thread operation 主要思想:      public static Operation CreateFactory(string ope) { //實例化空父類,讓

設計模式簡單工廠模式

pos 示例 概念 font 代碼示例 情況 strong size span 概念    應用場景   一個類多個子類,也就是多態的情況,當我們 代碼示例設計模式之簡單工廠模式

設計模式簡單工廠模式(創建型)

== 邏輯 設計 技術分享 對象創建 代碼 extends 工廠類 font 定義 簡單工廠模式又稱靜態工廠模式。可以根據參數的不同返回不同類的實例。定義一個類來創建其它類的實例。 角色 簡單工廠模式包含如下角色 Factory:工廠角色 Product:抽象產品角色 Co

golang設計模式簡單工廠模式

簡單工廠模式 wiki: 簡單工廠模式並不屬於 GoF 23 個經典設計模式,但通常將它作為學習其他工廠模式的基礎,它的設計思想很簡單,其基本流程如下: 首先將需要建立的各種不同物件(例如各種不同的 Chart 物件)的相關程式碼封裝到不同的類中,這些類稱為具體產品類,而將它們公共的程式碼

設計模式簡單工廠模式學習

之前瀏覽了一遍大話設計模式,看的激情四射,感覺寫的很好,但是瞄了一遍感覺收穫不多,於是決定手敲遍各種模式程式碼,今天敲了一遍簡單工廠模式程式碼,收穫滿滿,獲益良多。 引用書中標題的一句話: 程式碼無錯就是優? --------------------------簡單工廠模式 首先是一個實現計算

大話設計模式簡單工廠模式(Java版)

大話設計模式——第一章(簡單工廠模式)   題目:請用C++、Java、C#或VB.NET任意一種面嚮物件語言實現一個計算器控制檯程式,要求輸入兩個數和運算子號,得到結果。 import java.io.Console; import java.util.Scanner; /**

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

1. 簡單工廠模式( Simple Factory Pattern ) 目錄 簡單工廠模式( Simple Factory Pattern ) 模式動機 模式定義 模式結構 時序圖 程式碼分析 模式分析 例項

C#基礎 二十 設計模式簡單工廠模式及介面

前言       這幾天看了這些視訊進行了一些總結,我是打算先看完C#視訊然後繼續看設計模式這本書的,但是視訊中提到了一部分設計模式中的內容,那麼我也多少的總結一下吧,有助於後邊對設計模式的學習! 交流與互動

設計模式 - 簡單工廠模式

一、什麼是簡單工廠模式 簡單工廠模式(Simple Factory Pattern):又稱為靜態工廠方法(Static Factory Method)模式,它屬於類建立型模式。在簡單工廠模式中,一個抽象的產品類,可以派生出多個具體的產品類,它們都具有共同的父類。 我們再來看下簡單工廠模式的U

Java設計模式簡單工廠模式

工廠模式:就是我們最常用的例項化物件模式,是用工廠方法代替new操作的一種模式。 實現步驟:使用工廠物件,根據傳遞的引數建立物件 ex: /** * 簡單工廠模式:就是建立一個工廠專門用來new

Python設計模式簡單工廠模式

定義:不直接向客戶暴露物件建立的實現細節,而是通過一個工廠類來負責建立產品類的例項。 角色:工廠角色,抽象產品角色,具體產品角色。 優點:隱藏了物件建立程式碼的細節,客戶端不需要修改程式碼。 缺點:違反了單一職責原則,將建立邏輯集中到一個工廠裡面,當要新增新產品時,違背了開閉原則 程

設計模式簡單工廠模式(C#語言描述)

嚴格意義上來說,簡單工廠模式並不屬於GoF的23種設計模式,但是它是學習其他工廠模式的基礎和前提條件。理解了簡單工廠模式,學習工廠方法模式和抽象工廠模式會比較容易一些。 簡單工廠模式的定義 定義一個工廠類,他可以根據不同的引數返回不同類的例項。通常情況下,被建立的類的例項通常都具有共同的父類。

C++設計模式簡單工廠模式

簡單工廠模式 一、定義 簡單工廠模式:又稱為靜態工廠方法模式,它屬於類建立型模式。在簡單工廠模式中,可以根據引數的不同返回不同類的例項。簡單工廠模式專門定義一個來負責其他類的例項,被建立的例項通常都具有

大話設計模式簡單工廠模式

該部落格主要參考內容如下: 什麼是簡單工廠模式  簡單工廠模式(Simple Factory Pattern):又稱為靜態工廠方法(Static Factory Method)模式,它屬於類建立型模式。在簡單工廠模式中,可以根據引數的不同返回不同類的例項。簡單工廠

設計模式簡單工廠模式(simple factory pattern)

什麼是簡單工廠模式, 舉個不恰當的例子, 就說生產雪糕吧, 雪糕什麼形狀的都有, 有長方形,有圓形等等, 怎麼生產呢? 首先肯定是先造個機器, 然後弄幾個按鈕,上面依次寫上長方形, 圓形等等,我按長方形就給我出長方形的, 我按圓形的按鈕就給我出圓形的。 大概就是這樣接下來

筆記十三:設計模式簡單工廠模式工廠方法模式、抽象工廠模式

引言: 假設現在有一個超市(Market),超市銷售餅乾(Biscuit)、水果(Fruit)、飲料(Drink)三種食品。 按照常規,我們建立三個類:class Biscuit、class Fruit、class Drink。 class Bis

設計模式簡單工廠模式

通過多型製作一個簡單的計算器 Operation類: 1 public class Operation 2 { 3 private double _numberA = 0; 4 private double _numberB =

程式碼詳解設計模式簡單工廠模式

簡單工廠模式   例項:建立一個形狀介面和實現該介面的圓形和方形,然後定義形狀工廠。Demo演示類使用工廠來獲取不同的形狀物件。 優點: 遮蔽產品的具體實現,呼叫者只關心產品的介面。 擴充套件性高,如果想增加一個產品,只要擴充套件一個工廠類就可以。