91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

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

湟中县| 古交市| 哈密市| 南昌县| 永兴县| 乐陵市| 临城县| 凭祥市| 寿阳县| 沙洋县| 大名县| 固阳县| 东莞市| 天津市| 东海县| 正阳县| 马龙县| 台东市| 虎林市| 宜春市| 廉江市| 枞阳县| 安乡县| 信阳市| 潮州市| 南平市| 洪泽县| 连山| 普格县| 南阳市| 缙云县| 高邑县| 仪陇县| 磐石市| 广州市| 昭苏县| 界首市| 灵川县| 察隅县| 华亭县| 中西区|