對工廠模式的理解

2021-06-26 21:16:32 字數 549 閱讀 9430

工廠模式主要解決的問題在於降低**耦合度,將大量對物件的初始化**抽象為可復用的方法

例如對資料庫的連線,可能要使用mysql,可能要使用oracel,可能要使用sqlite,可能這三者要同時使用。使用在業務體中現場例項化的方法的話,乙個過程不嫌複雜,兩個過程也不嫌複雜,如果有多個相同過程時,對具體物件的初始化將成為比較重的**冗餘。對乙個大型業務系統來說,如果每次例項化乙個物件並且要載入一些屬性的話,為了產生物件而寫的**量就比較龐大了。

工廠模式就很好的解決了這個問題。工廠模式同時也是一種類的管理模式。處於工廠模式下的開發,將多個屬於同樣型別的類集合在一起(具體產品角色),在他們之上建立乙個工廠類(工廠角色),負責根據傳入的引數例項化對應的產品物件並按業務初始化賦值物件屬性。按抽象的思維方法,還可以在具體產品和工廠之間建立乙個具體產品的抽象類(抽象產品角色),抽象出所有具體產品共有的方法和屬性,進一步提高復用度、降低冗餘。

工廠模式使得業務邏輯中的物件構造類**大大減少,而代之以引數形式傳入某個固定工廠類,而工廠類內部對物件的復用可以進一步優化,屬性無關的物件可以直接返回上一次new的例項,大大減少了記憶體空間被浪費的風險。

我對工廠模式的理解

1.概念 工廠模式就是把客戶類和工廠類分開。消費者任何時候需要某種產品,只需向工廠請求即可。消費者無須修改就可以接納新產品。缺點是當產品修改時,工廠類也要做相應的修改。如 如何建立及如何向客戶端提供。工廠模式分為簡單工廠模式 工廠方法模式和抽象工廠模式三類,依次逐步抽象,並具有一般性。其中簡單工廠模...

對抽象工廠模式的理解

抽象工廠模式是指在父子類間要發生一定的分離變化,當然這裡肯定是使用抽象類,抽象類作為父子類的乙個旋接擴充套件類。它是在乙個物件的另乙個維度上對物件進行擴充套件,你比如說人有黑人,白人,黃人 但是人還有男人 女人。但是在工廠的抽象類中定義的工廠方法盡量寫全,你比如說這裡的男人,女人,這裡在這個維度上就...

個人對工廠模式的理解

問題 當有一群相關的具體類時 假設擁有duckstore類,duck類及其子類redduck,whiteduck,blackduck 我們建立物件是這樣的 這樣當我們需要增加或刪除新的duck的子類的時候,每次都必須要來修改這裡的 會造成系統難以維護和更新 解決方法 這時候我們就需要引入工廠模式 工...