工廠模式

簡單工廠模式設計模式

  簡單工廠模式也叫作靜態工廠方法(Static Factory Method)模式,但不屬於23種GOF設計模式之一。spa

    

一、優勢。設計

  經過使用工廠類,外界能夠從直接建立具體產品對象的尷尬局面擺脫出來,僅僅須要負責「消費」對象就能夠了。而沒必要管這些對象究竟如何建立及如何組織的.明確了各自的職責和權利。對象

二、缺點。blog

  因爲工廠類集中了全部實例的建立邏輯,違反了高內聚責任分配原則,將所有建立邏輯集中到了一個工廠類中;它所能建立的類只能是事先考慮到的,若是須要添加新的類,則就須要改變工廠類了。接口

三、點評開發

  在實際應用中,沒有人會使用這種經典的簡單工廠模式。一般會將 Type 成爲 Product 的一個屬性,工廠根據 Type,生成對應的 Product,從而避免工廠耦合Product。get

工廠方法模式產品

   將一個工廠,拆分紅了多個工廠。每一個工廠分別負責不一樣的產品。it

  

  工廠方法模式保持了簡單工廠模式的優勢,並且克服了它的缺點。但工廠方法模式的缺點是每增長一個產品類,就須要增長一個對應的工廠類,增長了額外的開發量。

一、點評

  本模式將Simple Factory中的 Type 拆分了成各個SubFactory,每一個 SubFactory管理一個Type。這樣作解保持了開閉原則。可是使用方Client須要根據不一樣的Type,選擇不一樣的Factory。

抽象工廠模式

   定義:爲建立一組相關或相互依賴的對象提供一個接口,並且無需指定他們的具體類。

    

  

     1,首先從簡單工廠進化到工廠方法,是由於工廠方法彌補了簡單工廠對修改開放的弊端,即簡單工廠違背了開閉原則。

     2,從工廠方法進化到抽象工廠,是由於抽象工廠彌補了工廠方法只能創造一個系列的產品的弊端。

相關文章
相關標籤/搜索