工廠模式的好處就在於將工廠和產品之間的耦合降低,將具體產品的構造過程放在了具體工廠類裡面。在以後擴充套件產品的時候方便很多,只需要新增乙個工廠類,乙個產品類,就能方便的新增產品,而不需要修改原有的**。而在簡單工廠中,如果要增加乙個產品,則需要修改工廠類,增加if/else分支,或者增加乙個case分支,工廠模式符合軟體開發中的ocp原則(open close principle),對擴充套件開放,對修改關閉。
抽象工廠模式:這個模式我總是感覺和builder模式非常相似。
工廠方法模式提供的是對乙個產品的等級模式,,而抽象工廠方法提供的是對多個產品的等級模式,注意,這裡的多個具體產品之間是相互耦合的,也就是說這裡的抽象工廠提供的產品之間是存在某種聯絡的。
有人做如下的比較:
工廠方法模式:乙個抽象產品類,可以派生出多個具體產品類。乙個抽象工廠類,可以派生出多個具體工廠類。每個具體工廠類只能建立乙個具體產品類的例項。
抽象工廠模式:多個抽象產品類,每個抽象產品類可以派生出多個具體產品類。
乙個抽象工廠類,可以派生出多個具體工廠類。
每個具體工廠類可以建立多個具體產品類的例項。
區別:工廠方法模式只有乙個抽象產品類,而抽象工廠模式有多個。
工廠方法模式的具體工廠類只能建立乙個具體產品類的例項,而抽象工廠模式可以建立多個。
有什麼區別
01 02.程式的版權和版本宣告部分 05.檔名稱 test.cpp 06.作 者 王雅萍 07.完成日期 2014年 4 月 15 日 08.版 本 號 v1.0 09.對任務及求解方法的描述部分 10.輸入描述 無 11.問題描述 12.程式輸出 13.問題分析 略 14.演算法設計 略 inc...
三個工廠模式的區別
簡單工廠是工廠方法模式的特例。工廠方法模式和抽象工廠模式的最主要的區別在於對工廠的抽象程度上。抽象工廠模式中一般是抽象出工廠介面,表示他就是乙個工廠,而不管它是製造什麼產品的工廠,他的抽象程度較高。而工廠方法模式的抽象工廠一般是針對於產品進行抽象,表示它是乙個生產某類產品的工廠。簡單工廠是不支援繼承...
和 和 有什麼區別
應該是當前目錄下的相對路徑 根目錄的相對路徑 同上,只不過與上面的那個在不同的地方用 不一定完全正確,第乙個沒具體驗證過 返回下級目錄 返回上一級目錄 返回跟目錄 net lover 孟子e章 的根目錄,就是網域名稱後面開始,如http aa.com 當前目錄的上一級目錄 asp.net應用程式的根...