亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

設計模式之工廠模式-抽象工廠模式

發布時間:2020-04-07 22:37:39 來源:網絡 閱讀:443 作者:凱哥Java 欄目:軟件技術

設計模式之工廠模式-抽象工廠模式


設計模式之工廠模式-抽象工廠模式

抽象工廠模式:

定義了一個接口用于創建相關或有依賴關系的對象簇,而無需明確指定具體類。

我們來看看使用抽象工廠模式來實現的披薩項目。

來源:凱哥Java(kaigejava)

先來看看項目結構:

設計模式之工廠模式-抽象工廠模式

說明:

1:工廠接口

2:兩個實現類

3:訂單對象

4:測試類。

看看具體代碼:

IFactoryInterface:

設計模式之工廠模式-抽象工廠模式

BeiJinFatory:

設計模式之工廠模式-抽象工廠模式

FactoryOrderPizza

設計模式之工廠模式-抽象工廠模式

測試類:

設計模式之工廠模式-抽象工廠模式


三種工廠模式:

1:把對象的實例化放在簡單的類里面,那么這種就是簡單工廠模式(也叫靜態工廠模式)

2:如果我們把對象實例化代碼進行抽象,抽象成創建對象的方法跟具體的實例化(也就是其子類),這種就是工廠方法模式。工廠方法模式的意義:將對象的創建過程,由原來的在類里面創建延遲到子類里面來創建對象了。

依賴抽象原則:

1:變量不要持有具體類的引用。

理解:A a = new A();這種方式就是變量a持有A對象的具體引用。在工廠模式中,我們可以這么做:A a = SF("A");或者是 A a = create("A");或者是A a = new Factory(new CreateA());

2:不要讓類繼承自具體類,要繼承自抽象接口或者抽象類。

我們需要知道,如果類A繼承具體的類B。這樣的強依賴關系不便于擴展。而我們使用接口或者抽象類的話,就很方便擴展了。

3:不要覆蓋基類中已經實現的方法

我們在設計基類的時候,已經實現的方法原則上是所有繼承此基類的子類公用的(通用的)方法。子類中無需進行覆蓋即可使用的。如我們披薩案例中的披薩烘培、切割以及打包方法。

設計模式之工廠模式-抽象工廠模式

說明:

通過本篇加前兩篇文章,我們已經把工廠模式講解完成了。但是,說實話,凱哥自己都感覺講的不是很明白。所以,在下一篇文章中,凱哥將對三種模式做對比,然后進行總結。希望可以通過下一篇文章能把工廠模式講解明白。

代碼已經上傳git上面了。

聯系凱哥--》凱哥Java(kaigejava)

或凱哥個人博客:www.kaigejava.com?個人博客上面可以私聊凱哥哦!




向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

塘沽区| 沁源县| 什邡市| 大荔县| 宣化县| 四平市| 紫阳县| 株洲县| 孝义市| 青铜峡市| 庄河市| 屯门区| 汝城县| 阿图什市| 鱼台县| 高唐县| 凤凰县| 浑源县| 泉州市| 西安市| 黎城县| 郯城县| 广汉市| 始兴县| 琼海市| 钦州市| 平凉市| 万山特区| 泾阳县| 郑州市| 集安市| 垣曲县| 沧源| 达日县| 东阿县| 启东市| 页游| 康乐县| 邵武市| 抚宁县| 从化市|