來說說(SimpleFactory)簡單工廠模式
阿新 • • 發佈:2019-02-01
1。何為簡單工廠模式?就是把建立的過程封裝起來,客戶只關心需要什麼樣的產品,不關心整個產品建立的過程。我們來實現一個簡單的工廠模式。我們就拿客戶點餐為例,客戶想要什麼食品,他不關心食品是怎麼做的,食品的做法直接交給工廠即可。我們來建立一個食品的基類。並且建立2種食品。
2.我們在來建立一個工廠,用於建立這兩種食品using System; using UnityEngine; public abstract class Food { public abstract void print(); } public class TomatoScrambledEggs : Food { public override void print() { Debug("我是:TomatoScrambledEggs"); } } public class ShreddedPorkWithPotatoes : Food { public override void print() { Debug("我是:ShreddedPorkWithPotatoes"); } }
3.我們來測試,建立一個客戶類using System; /// <summary> /// 簡單工廠模式 /// </summary> public class FoodSimpleFactory { static public Food createFood(string foodName) { Food food; if(foodName.Equals("TomatoScrambledEggs")) { food = new TomatoScrambledEggs (); } else if(foodName.Equals("ShreddedPorkWithPotatoes")) { food = new ShreddedPorkWithPotatoes (); } return food; } }
using System;
public class Customer
{
public Customer ()
{
Food food1 = FoodSimpleFactory.createFood ("TomatoScrambledEggs");
food1.print ();
Food food2 = FoodSimpleFactory.createFood ("ShreddedPorkWithPotatoes");
food1.print ();
}
}
好了,我們的簡單工廠模式基本實現了,他有他的優點,可以把建立的過程封裝起來,顧客不需要知道整個加工的過程,缺點是沒次增加新的食品,活著食品做法有變動時,他需要手動更改工廠類。