抽象工廠模式的優點有:1、抽象工廠模式隔離了具體類的生產,使得客戶並不需要知道什麼被建立;2、當乙個產品族中的多個物件被設計成一起工作時,它能保證客戶端始終只使用同乙個產品族中的物件。
優點:1、抽象工廠模式隔離了具體類的生產,使得客戶並不需要知道什麼被建立。
2、當乙個產品族中的多個物件被設計成一起工作時,它能保證客戶端始終只使用同乙個產品族中的物件。
3、增加新的具體工廠和產品族很方便,無須修改已有系統,符合「開閉原則」
適用場景
當需要建立的物件是一系列相互關聯或相互依賴的產品族時,便可以使用抽象工廠模式。說的更明白一點,就是乙個繼承體系中,如果存在著多個等級結構(即存在著多個抽象類),並且分屬各個等級結構中的實現類之間存在著一定的關聯或者約束,就可以使用抽象工廠模式。假如各個等級結構中的實現類之間不存在關聯或約束,則使用多個獨立的工廠來對產品進行建立,則更合適一點。
總結無論是簡單工廠模式,工廠方法模式,還是抽象工廠模式,他們都屬於工廠模式,在形式和特點上也是極為相似的,他們的最終目的都是為了解耦。在使用時,我們不必去在意這個模式到底工廠方法模式還是抽象工廠模式,因為他們之間的演變常常是令人琢磨不透的。經常你會發現,明明使用的工廠方法模式,當新需求來臨,稍加修改,加入了乙個新方法後,由於類中的產品構成了不同等級結構中的產品族,它就變成抽象工廠模式了;而對於抽象工廠模式,當減少乙個方法使的提供的產品不再構成產品族之後,它就演變成了工廠方法模式。
所以,在使用工廠模式時,只需要關心降低耦合度的目的是否達到了。
Python有哪些優點?
python 是一門偉大的入門語言。作為一門偉大的程式語言,一定要具備一些特徵,其中有五項特徵是非常重要的 1.非常棒的首次體驗 就像書的開始,首先一定要能夠 沉迷 學習新知識一定會碰到各種挫折,但是如果能夠吸引學生的好奇心和熱情,零基礎的學員才能夠有更好的興趣在學習中 2.web 程式設計能力 對...
Spring有哪些優點?
輕量級 spring 在大小和透明性方面絕對屬於輕量級的。控制反轉 ioc spring 使用控制反轉技術實現了松耦合,依賴被注入到物件,而不是建立或尋找依賴物件。面向切面程式設計 aop spring 支援面向切面程式設計,同時應用的業務邏輯與系統的服務分離開來。容器 spring 包含並管理應用...
抽象工廠模式 抽象工廠模式
抽象工廠模式其實是圍繞了乙個超級工廠建立其他的工廠 可參考工廠模式 這個超級工廠又可以想像成是其他工廠的工廠,這種設計模式是一種建立型模式。在抽象工廠模式中,介面是負責建立乙個相關物件的工廠,不需要顯式指出其類。每個生成的工廠都能按照工廠模式提供物件。意圖提供乙個建立一系列相關或相互依賴物件的介面,...