五月天青色头像情侣网名,国产亚洲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ì)模式:工廠方法模式的評論 (共 條)

分享到微博請遵守國家法律
沂源县| 马山县| 兴隆县| 建阳市| 黄石市| 宜兰市| 镇原县| 莎车县| 林口县| 德兴市| 新宁县| 陆川县| 远安县| 宜阳县| 济阳县| 新昌县| 临沭县| 来安县| 句容市| 尚义县| 驻马店市| 承德市| 孟州市| 漳浦县| 哈尔滨市| 安溪县| 枣强县| 左贡县| 长岭县| 麟游县| 江山市| 贵德县| 鲁山县| 平武县| 沙河市| 柳州市| 定襄县| 凤庆县| 侯马市| 雷州市| 枣强县|