簡單工廠模式

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


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



          缺點:當需要增加產(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)航:
           
          主站蜘蛛池模板: 萝北县| 始兴县| 开江县| 滦南县| 陇川县| 会同县| 元朗区| 祁东县| 红桥区| 普洱| 丰镇市| 闵行区| 茌平县| 慈利县| 金川县| 宁远县| 东平县| 宁波市| 杨浦区| 壶关县| 泾阳县| 隆回县| 临海市| 长治县| 安顺市| 金华市| 岳普湖县| 贵德县| 松滋市| 论坛| 齐河县| 安平县| 嘉禾县| 贵德县| 集贤县| 蚌埠市| 肥城市| 西峡县| 社旗县| 台前县| 嘉祥县|