五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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ì)模式:工廠方法模式的評論 (共 條)

分享到微博請遵守國家法律
孟村| 囊谦县| 静安区| 永安市| 错那县| 谢通门县| 白玉县| 洪江市| 台南市| 巴林右旗| 济南市| 汉寿县| 徐汇区| 浠水县| 天镇县| 延川县| 濮阳县| 西乌珠穆沁旗| 浦县| 中阳县| 高雄县| 西宁市| 万安县| 万年县| 米泉市| 巴林左旗| 临颍县| 阿克陶县| 邹平县| 清涧县| 宁都县| 泰安市| 永寿县| 东港市| 南召县| 临潭县| 海盐县| 玛曲县| 江孜县| 红桥区| 扶余县|