摘要:工廠方法模式的擴展性非常的好,在增加產品類的情況下,只需要適當的修改具體的工廠類或擴展一個工廠類,就可以完成。屏蔽產品類高度結偶一個簡單工廠模式實例定義產品接口實現個產品類定義工廠接口實現工廠類業務場景運行結果至此,一個簡單工廠就完成了。
工廠模式的優點:
1 良好的封裝型,代碼結構清晰,一個對象創建是有條件約束的,如果一個調用者需要一個具體的產品對象,只需要知道這個產品的類名就可以了,不用知道創建對象的艱辛過程,降低模塊間的耦合性。
2 工廠方法模式的擴展性非常的好,在增加產品類的情況下,只需要適當的修改具體的工廠類或擴展一個工廠類,就可以完成。
3 屏蔽產品類
4 高度結偶
一個簡單工廠模式實例
定義產品接口
實現2個產品類
定義工廠接口
實現工廠類
業務場景
運行結果
至此,一個簡單工廠就完成了。
延遲加載的工廠模式:
同樣的先定義共有的man接口
定義兩個實現類
定義抽象工廠接口
抽象工程實現類
業務場景類
結果
通過斷點調試為,我們可以看到,第一詞調用createMan方法的時候,是通過
( Man ) Class.forName( T.getName( ) ).newInstance( );獲取實例的,但是第二次調用的時候,使用了緩存HashMap里面的值。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/71783.html
摘要:在設計模式中,所有的設計模式都遵循這一原則。其實就是說在應用程序中,所有的類如果使用或依賴于其他的類,則應該依賴這些其他類的抽象類,而不是這些其他類的具體類。使用設計模式是為了可重用代碼讓代碼更容易被他人理解保證代碼可靠性。 這是劉意老師的JAVA基礎教程的筆記講的賊好,附上傳送門 傳智風清揚-超全面的Java基礎 一、面向對象思想設計原則 1.單一職責原則 其實就是開發人員經常說的高...
摘要:工廠模式,又稱為工廠方法模式。工廠模式,也就是工廠方法模式是解決了簡單工廠要修改代碼的問題,他把對象的創建操作延遲到子類工廠中,這樣新增產品就不需要修改代碼。 簡單工廠其實并不是設計模式,只是一種編程習慣。 首先我們創建父類Cup,所有杯子類的父類。再創建它的子類BigCup和SmallCup類。 public abstract class Cup { public abst...
摘要:提供靜態工廠方法而不是公共構造函數既有優點也有缺點。它們不像構造函數那樣在文檔中脫穎而出,因此很難弄清楚如何實例化提供靜態工廠方法而不是構造函數的類。 ??類允許客戶端獲取實例的傳統方法是提供公共構造器。還有一種技術應該是每個程序員的工具箱的一部分。一個類可以提供一個公共靜態工廠方法,它僅僅是一個返回類實例的靜態方法。下面是布爾(布爾型的盒裝原語類)的一個簡單示例。這個方法將一個布爾原...
摘要:從設計模式的分類來看簡單工廠模式是創建型模式。使用簡單工廠模式將會增加系統中類的個數,在一定程序上增加了系統的復雜度和理解難度。簡單工廠模式由于使用了靜態工廠方法,造成工廠角色無法形成基于繼承的等級結構。 簡單工廠模式提供了一個接口可以根據傳遞的參數的不同創建不同的對象,從而將對象自身的邏輯與對象的創建分離開。 從設計模式的分類來看簡單工廠模式是創建型模式。事實上與簡單工廠模式類似的還...
閱讀 1837·2021-11-11 16:55
閱讀 759·2019-08-30 15:53
閱讀 3598·2019-08-30 15:45
閱讀 746·2019-08-30 14:10
閱讀 3275·2019-08-30 12:46
閱讀 2132·2019-08-29 13:15
閱讀 2034·2019-08-26 13:48
閱讀 942·2019-08-26 12:23