簡單工廠:
工廠模式:簡單工廠,工廠方法,抽象工廠三種. 簡單工廠(力求簡潔)
工廠即為生產東西的地方.在C#也有這種模式,充分利用了面向對象語言的三大特征(多態,繼承),簡單工廠.工廠的功能就是生產,而生產些什么呢?一個工廠可以生產鞋子,生產衣服.它們所處的車間不一樣,所以需要兩個不同的類,這兩個類繼承工廠生產這個功能.
簡單工廠,之所以成為簡單.即這個工廠所生產的東西是有限的,固定的.因為它只有鞋子,衣服,是具體的.也可以說是簡單工廠的缺點(生產產品固定,要改動case語句),優點(①降低了客戶與產品之間的耦合度,客戶是客戶,工廠是工廠,客戶只需說自己需要什么②實現了代碼的復用,可以少寫點代碼)
介紹完畢,上干貨
工廠的接口
public abstract class IFactory { //生產 抽象方法 public abstract void Production(); }
工廠可實現的產品,鞋子,衣服
//生產鞋子 public class ShoesClass : IFactory { public override void Production() { Console.WriteLine("生產鞋子"); } }
public class ClothesClass : IFactory { public override void Production() { Console.WriteLine("生產了衣服"); } }
根據不同需求來實現工廠的生產功能
public class Factory { IFactory f = null; public IFactory Create(string type) { switch (type) { case "Shoes": f = new ShoesClass(); break; case "Clothes": f = new ClothesClass();
break;
default: break; } return f; } }
客戶端實現
class Program { static void Main(string[] args) { IFactory f = new Factory().Create("Clothes"); f.Production(); Console.ReadKey(); } }