設(shè)計模式之工廠模式-抽象工廠模式-創(chuàng)新互聯(lián)

設(shè)計模式之工廠模式-抽象工廠模式

創(chuàng)新互聯(lián)長期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為分宜企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站設(shè)計、成都外貿(mào)網(wǎng)站建設(shè),分宜網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

設(shè)計模式之工廠模式-抽象工廠模式

抽象工廠模式:

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

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

來源:凱哥Java(kaigejava)

先來看看項目結(jié)構(gòu):

設(shè)計模式之工廠模式-抽象工廠模式

說明:

1:工廠接口

2:兩個實現(xiàn)類

3:訂單對象

4:測試類。

看看具體代碼:

IFactoryInterface:

設(shè)計模式之工廠模式-抽象工廠模式

BeiJinFatory:

設(shè)計模式之工廠模式-抽象工廠模式

FactoryOrderPizza

設(shè)計模式之工廠模式-抽象工廠模式

測試類:

設(shè)計模式之工廠模式-抽象工廠模式

三種工廠模式:

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

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

依賴抽象原則:

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

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

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

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

3:不要覆蓋基類中已經(jīng)實現(xiàn)的方法

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

設(shè)計模式之工廠模式-抽象工廠模式

說明:

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

代碼已經(jīng)上傳git上面了。

聯(lián)系凱哥--》凱哥Java(kaigejava)

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

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

網(wǎng)站欄目:設(shè)計模式之工廠模式-抽象工廠模式-創(chuàng)新互聯(lián)
當前網(wǎng)址:http://bm7419.com/article6/cedsig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作品牌網(wǎng)站建設(shè)、面包屑導航企業(yè)網(wǎng)站制作、服務(wù)器托管、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營