簡單工廠模式

          就是,對對象實例化的過程和需要實例化的對象進行細節(jié)上的封裝。


          優(yōu)點:工廠類中包含了必要的邏輯判斷,根據(jù)客戶端的選擇條件動態(tài)實例化相關(guān)類。對于客戶端來說,去除了與具體產(chǎn)品的依賴。



          缺點:當(dāng)需要增加產(chǎn)生一個新對象實例的方法時,需要修改工廠類,這樣,工廠類就違背了“開
          -閉原則”。

          工廠方法模式

          定義一個用于創(chuàng)建對象的接口,讓子類決定實例化哪一個類。工廠方法使一個類的實例化延遲到了子類。



          工廠方法模式實現(xiàn),客戶端進行工廠的實例化,產(chǎn)生哪一個工廠實例的邏輯判斷依然存在。工廠方法把簡單工廠內(nèi)部邏輯判斷轉(zhuǎn)移到了客戶


          端。工廠方法模式就是利用了“依賴倒轉(zhuǎn)原則”解決了簡單工廠模式違背“開
          -閉原則”的問題。

          抽象工廠模式

          提供一個創(chuàng)建一系列相關(guān)或者相或依賴對象的接口,而不需要指定它們具體的類。



          通常在運行時刻產(chǎn)生一個
          ConcreteFactory實例,這個具體工廠再創(chuàng)建具有特定實現(xiàn)的產(chǎn)品實例。為創(chuàng)建不同的產(chǎn)品對象,客戶端應(yīng)使用不同的具體工廠。



          優(yōu)點:易于改變產(chǎn)品系列;具體的創(chuàng)建過程與客戶端分離,客戶端操作抽象接口產(chǎn)生實例。



          缺點:增加一種產(chǎn)品(對象),需要改變的地方很多。

          用簡單工廠來改進抽象工廠

          用反射+抽象工廠進行改進

          所有用簡單工廠的地方,都可以考慮用反射來解除if,case判斷語句帶來的耦合。

          用反射+配置文件進行改進


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 宜章县| 阆中市| 嘉鱼县| 和林格尔县| 嵊州市| 建平县| 陆丰市| 嘉义市| 岑溪市| 吴堡县| 江源县| 太仓市| 宁化县| 北流市| 志丹县| 澎湖县| 灵台县| 桦川县| 霍林郭勒市| 车致| 隆子县| 绵竹市| 聊城市| 徐汇区| 营山县| 凌源市| 瑞丽市| 洪泽县| 德昌县| 抚松县| 思南县| 甘孜| 孟州市| 镇安县| 基隆市| 蒙阴县| 武汉市| 常宁市| 白朗县| 湄潭县| 清新县|