中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

發布時間: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

喜德县| 红河县| 临猗县| 拉孜县| 上饶县| 茶陵县| 沙坪坝区| 罗定市| 射洪县| 城口县| 安岳县| 县级市| 班玛县| 资源县| 龙岩市| 延边| 铜梁县| 芜湖县| 黄龙县| 醴陵市| 同德县| 郑州市| 白河县| 满洲里市| 平武县| 隆化县| 永定县| 博白县| 西青区| 林甸县| 中方县| 茶陵县| 黄冈市| 阜南县| 龙岩市| 拜泉县| 澳门| 同心县| 淳化县| 民乐县| 思南县|