国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

設(shè)計(jì)模式:工廠方法模式

2021-03-25 13:36 作者:做架構(gòu)師不做框架師  | 我要投稿

什么是工廠方法模式?

工廠方法模式(英語:Factory Method Pattern)的實(shí)質(zhì)是“定義一個創(chuàng)建對象的接口,但讓實(shí)現(xiàn)這個接口的類來決定實(shí)例化哪個類。工廠方法讓類的實(shí)例化推遲到子類中進(jìn)行”。

一句話歸納

只對結(jié)果負(fù)責(zé),封裝過程對象。



代碼示例

我在Car類中定義了車的一些基本屬性和行為,在其子類BMW類和Benz類里寫各自的屬性和行為的區(qū)別;定義了一個關(guān)于Car類的工廠接口,在其實(shí)現(xiàn)類里的方法返回不同的車型,以后我再賣一個新車系列時候,只需要創(chuàng)建一個Car的子類和相對應(yīng)的工廠類即可。

適用性

以下場景我建議你考慮使用:

  • 面向接口編程;

  • 創(chuàng)建對象需要大量重復(fù)的代碼或默認(rèn)值;

  • 創(chuàng)建對象的生命周期必須集中管理,比如Spring的BeanFactory;

  • 創(chuàng)建對象可能是在一個池子里,不是每次都創(chuàng)建新的,比如線程池、連接池;

  • 客戶端(應(yīng)用層)不依賴于產(chǎn)品類實(shí)例如何被創(chuàng)建、實(shí)現(xiàn)等細(xì)節(jié);

  • 一個類通過其子類來指定創(chuàng)建哪個對象。

局限性

以下場景我建議你謹(jǐn)慎使用:

  • 重構(gòu)現(xiàn)有的類時會破壞現(xiàn)有的代碼,畢竟以前是用構(gòu)造器,現(xiàn)在用工廠方法;

  • 簡單對象創(chuàng)建不建議使用,避免把簡單問題復(fù)雜化;

  • 工廠方法所實(shí)例化的類具有私有的構(gòu)造方法,所以這些類就不能擴(kuò)展了;

  • 確實(shí)擴(kuò)展了工廠方法所實(shí)例化的類,子類必須具有所有工廠方法的一套實(shí)現(xiàn)。

寫在最后

最后,好兄弟,記得點(diǎn)贊,關(guān)注,謝謝。


設(shè)計(jì)模式:工廠方法模式的評論 (共 條)

分享到微博請遵守國家法律
友谊县| 珠海市| 晋宁县| 余江县| 福泉市| 香格里拉县| 田阳县| 龙口市| 高邮市| 吉林省| 鹿邑县| 商河县| 北安市| 常宁市| 康平县| 历史| 普格县| 监利县| 夹江县| 临沭县| 辽源市| 石泉县| 黄冈市| 古交市| 榕江县| 阳泉市| 瓮安县| 白银市| 江津市| 绥滨县| 塔河县| 滁州市| 遵义市| 新巴尔虎左旗| 高碑店市| 云霄县| 澄江县| 黄龙县| 额尔古纳市| 合川市| 贵南县|