C# 簡單工廠模式
阿新 • • 發佈:2021-11-19
概念:專門定義一個類來負責建立其他類的例項,被建立的例項通常都具有"共同的父類"。它又稱為靜態工廠方法模式,屬於類的建立型模式。
簡單工廠模式的實質是由一個工廠類根據傳入的"引數",動態決定應該建立哪一個產品類(這些產品類繼承自一個父類或介面)的例項。
貼程式碼 在main方法中實現的方法
FoodS food1 = FoodSimpleFactory.CreateFood("西紅柿炒蛋"); food1.Print(); FoodS food2 = FoodSimpleFactory.CreateFood("土豆肉絲"); food2.Print(); Console.Read();
新增一個類 主要程式碼是用來實現
public abstract class FoodS { // 輸出點了什麼菜 抽象類 public abstract void Print(); } /// <summary> /// 西紅柿炒雞蛋這道菜 /// </summary> public class TomatoScrambledEggsS : FoodS { //重寫print public override void Print() { Console.WriteLine("一份西紅柿炒蛋!"); } } /// <summary> /// 土豆肉絲這道菜 /// </summary> public class ShreddedPorkWithPotatoesS : FoodS { public override void Print() { Console.WriteLine("一份土豆肉絲"); } } /// <summary> /// 簡單工廠類, 負責 炒菜 只要傳過來型別 然後自行實現 /// </summary> public class FoodSimpleFactory { public static FoodS CreateFood(string type) { FoodS food = null; if (type.Equals("土豆肉絲")) { //由引數決定 要實現的繼承父類列印的子類方法 food = new ShreddedPorkWithPotatoesS(); } else if (type.Equals("西紅柿炒蛋")) { food = new TomatoScrambledEggsS(); } return food; }