Java設(shè)計(jì)模式之簡(jiǎn)單工廠

簡(jiǎn)單工廠


接口

接口是一種特殊的抽象類,跟一般的抽象類相比,接口里的所有方法都是抽象方法,接口里的所有屬性都是常亮。也就是說(shuō)接口里面只有方法定義沒(méi)有任何方法實(shí)現(xiàn)。

接口的思想是“封裝隔離”

簡(jiǎn)單工廠

示例代碼: https://github.com/GeniusVJR/DesignMode_Java/tree/master/SimpleFactory

客戶端在調(diào)用的時(shí)候,不但知道了接口,同時(shí)還知道了具體的實(shí)現(xiàn)。接口的思想是“封裝隔離”,而實(shí)現(xiàn)類Impl應(yīng)該是被接口API封裝并同客戶端隔離開(kāi)來(lái)的,客戶端不應(yīng)該知道具體的實(shí)現(xiàn)類是Impl。

簡(jiǎn)單工廠的功能

不僅可以利用簡(jiǎn)單工廠來(lái)創(chuàng)建接口,也可以用簡(jiǎn)單工廠來(lái)創(chuàng)造抽象類,甚至是一個(gè)具體的實(shí)例。

靜態(tài)工廠

沒(méi)有創(chuàng)建工廠實(shí)例的必要,把簡(jiǎn)單工廠實(shí)現(xiàn)成一個(gè)工具類,直接使用靜態(tài)方法。

萬(wàn)能工廠

一個(gè)簡(jiǎn)單的工廠可以包含很多用來(lái)構(gòu)造東西的方法,這些方法可以創(chuàng)建不同的接口、抽象類或者是類實(shí)例。

簡(jiǎn)單工廠的優(yōu)缺點(diǎn)

● 優(yōu)點(diǎn)

幫助封裝

解耦

● 缺點(diǎn)

可能增加客戶端的復(fù)雜度

不方便擴(kuò)展子工廠

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容