簡單工廠模式(Simple Factory Pattern)屬于創(chuàng)建型模式,它定義了一個創(chuàng)建對象的類,由這個類來封裝實例化對象的行為。在簡單工廠模式中,可以根據(jù)參數(shù)的不同返回不同類的實例。簡單工廠模式專門定義一個類來負責創(chuàng)建其他類的實例,被創(chuàng)建的實例通常具有共同的父類。
簡單工廠模式主要包含以下角色:
下面通過C#代碼示例來演示簡單工廠模式的實現(xiàn):
(1) 定義抽象產(chǎn)品類
public interface IProduct{ void Show();}
(2) 定義具體產(chǎn)品類
public class ConcreteProductA : IProduct{ public void Show() { Console.WriteLine("This is Product A"); }}public class ConcreteProductB : IProduct{ public void Show() { Console.WriteLine("This is Product B"); }}
(3) 定義工廠類
public class SimpleFactory{ public static IProduct CreateProduct(string type) { switch (type) { case "A": return new ConcreteProductA(); case "B": return new ConcreteProductB(); default: throw new ArgumentException("Unknown product type"); } }}
(4) 客戶端代碼
class Program{ static void Main(string[] args) { IProduct productA = SimpleFactory.CreateProduct("A"); productA.Show(); IProduct productB = SimpleFactory.CreateProduct("B"); productB.Show(); }}
優(yōu)點:
缺點:
簡單工廠模式作為一種簡單且實用的創(chuàng)建型模式,在軟件開發(fā)中得到了廣泛的應用,特別是當系統(tǒng)中只需要一個工廠類或者系統(tǒng)中只需要創(chuàng)建少量對象時,使用簡單工廠模式可以大大簡化系統(tǒng)的實現(xiàn),提高系統(tǒng)的可維護性和靈活性。
本文鏈接:http://www.www897cc.com/showinfo-26-102908-0.html簡單工廠模式在C#中的實現(xiàn)
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: 深度選擇器探秘:/deep/、>>>、::v-deep 與 v-deep() 的區(qū)別與用法