1.工廠用來生產產品,用OO語言來說在方法中產生實例,不同的產品需要不同的工廠,使2者都具有多態性(變化),但產品和生產產品的工廠也很類似(抽象類),因此需要用抽象類來封裝變化。
2.工廠模式的簡單表現形式是簡單工廠(工廠方法簡單),複雜表現形式是抽象工廠(產品的2維變化問題),產品的複雜度決定工廠方法的複雜度。
3.角色劃分
抽象工廠,聲明生產產品的方法。
具體工廠,實現方法具體創建產品實例。
抽象產品,提供產品標準。
具體產品,將標準應用於產品。
簡單工廠角色不分抽象和具體,只有工廠角色。
4.擴展
使用多個工程方法
產品的循環使用(將產品放到集合中,操作集合)
5.相關其他模式
模板方法模式
MVC模式
享元模式
備忘錄模式
6.利用.net中的反射機制可以減少由於產品的變化導致客戶端調用代碼的修改,將這項工作交給配置文件。
7..net中的應用
ASP.NET HTTP通道