工廠模式:
將物件的建立從業務邏輯中分離,可以做到統一建立,而不是分散在各個業務模組中建立,需要修改時可以統一控制。
業務邏輯中去除了物件的建立,更新清清晰,對介面程式設計時,也可以通過工廠方便替換物件,對業務邏輯無影響。
工廠產生物件時,可以增加一些處理如**裝飾等等。
簡單工廠模式:
通過乙個方法來建立不同的物件。
在createprodcut
方法內部需要通過
productype
來確定建立哪乙個具體類。
新增產品型別時,需要修改createproduct方法,不符合開閉原則,但它確實現了物件的建立與業務邏輯的分離。
另一種可以建立各種型別例項的簡單工廠
(前提是類有預設構建器,缺點:不知道物件的型別,不容易增加控制(**或裝飾等))
public object create(string classname) throws classnotfoundexceptioncatch(classnotfoundexception e)catch(classnotfoundexception ee)
}return classz;
}
工廠方法模式的定義:
定義乙個建立物件的介面,由子類來建立具體的產品--每乙個工廠子類對應一種產品子類的建立, 當選擇不同的工廠介面實現時就建立了不同的產品。
新增產品子類時,同時新增對應的工廠子類就可以了。
工廠模式解決了簡單工廠中新增產品產型別時需要修改工廠方法的問題。
抽像工廠模式的定義:
提供乙個介面用來建立相關或依賴物件的家族 ,而不需要指明具體類。
物件的家族:這些物件分別屬於不同的型別且存在某種共性或關係等。
我對抽像工廠模式不是十分理解,設計中沒有用到過。
在設計中,涉及物件的建立,我一般是交給spring來處理。
設計模式 工廠模式理解
工廠模式在建立物件時不會對客戶端暴露建立邏輯,並且是通過使用乙個共同的介面來指向新建立的物件。在物件導向設計中工廠模式是程式設計的首先模式。為了深入理解這個概念,首先講一下 工廠 的概念。工廠是可以大量重複生產相同產品的場所。對於工廠來講,生產一件產品和生產一萬件產品在技術和管理層面上不應該有本質差...
理解設計模式 抽象工廠模式
一 簡單工廠模式 定義 專門定義乙個類用來負責建立其他類的例項,被建立的類通常具有共同的父類 沒有也行 產品類 public inte ce product 繼承產品的子類a產品 public class producta implements product 繼承產品的子類b產品 public c...
設計模式 工廠模式 抽象工廠模式
建立物件時不會對客戶暴露建立邏輯,並且通過使用乙個共同的介面來指向建立的物件。sept1 建立乙個公共介面,將要對外開放的方法在這裡定義。sept2 建立實現介面的類,用即實現對外開放的類的方法 sept3 建立工廠,提供乙個get方法,這個方法提供返回實現類的物件 建立選擇 sept4 使用,建立...