各種設計模式分析

2021-04-15 02:14:59 字數 1203 閱讀 9674

簡單工廠模式:通過工廠類對業務邏輯選擇封裝化,把業務邏輯封裝到工廠方法中.優點是使業務邏輯和業務實現真正                       分離.缺點是擴充套件起來非常不方便.需要修改原來的工廠實現**。試用於業務比較多,但是變化比較小的情況

抽象工廠模式:通過抽象工廠,對比起來,他可以輕易載入返回的業務類。且可以對返回類抽象化.實現業務類很多,且方法型別也很多.但是使用者需求有變化的時候修改的地方太多,(抽象類,實現工廠類,抽象工廠類)如果和反射一起用的話,適合類變化,方法變化比較大的情況.

工廠方法模式:通過呼叫的方法不同,實現多型,優點是擴充套件起來比較方便.但是需要使用者自己判斷實現哪個工廠類,這樣使用者端存在一定的義務邏輯.試用於變化比較多的情況.

裝飾模式:把乙個類封裝成他的屬性,可以重複實現統一個迭帶呼叫封裝類的function.優點是

不考慮具體實現物件數量多少,實現多型.適用於可能重複載入業務的情況.

**模式:由乙個類封裝到另乙個類裡面,通過呼叫另乙個類的業務邏輯,實現**.且實現業務邏輯.

狀態模式:把狀態封裝到物件屬性裡面.通過不斷例項化新的狀態,實現狀態的改變.用於狀態變化比較大的情況。

策列模式:把類封裝成屬性,面向介面程式設計,可以實現多型.適用於策列經常有變化但是實現方式變化不多的情況.

模板模式:由模板實現通用邏輯,通過繼承,多型具體實現.適用於重複勞動很多的情況.

外觀模式:

建造者模式:把業務邏輯實現整理在乙個大的function裡面,這樣可以把多個複雜的業務邏輯封裝起來。

觀察者模式:把乙個集合類封裝到他屬性裡面.通過多型實現集合類的太態.適用於變化比較大的屬性裡面.

介面卡模式:把乙個類封裝到另乙個類裡面。一般用於一些類無法直接繼承乙個藉口或是抽象類裡面.

備忘錄模式:把乙個類的屬性儲存起來,在必要的時候可以還原類.適用於需要儲存和還原類的情況.

組合模式:把集合類封裝成類的屬性,這樣可一把類寫成乙個樹形結構的資料鏈.用於結構層次感很強的情況.

迭代器模式:把所有集合類封裝起來,通過屬性控制返回你想要的迭代結果.

單例模式:通過靜態方法的屬性,用於只能實現一次的例項化.

橋接模式:把抽象類和實現部門分離.通過呼叫有關介面實現.

命令模式:首先抽象化命令,再把命令集合類放在操作者手中,通過呼叫抽象類的方法,實現多型.用於可以命令比較多的時候,同時所有命令的實現介面都相同時.

職責鏈模式:和狀態模式比較相似,把責任當乙個屬性,通過更換屬性來控制責任的選擇.

設計模式 各種繼承方式

一 原型繼承 b.prototype new a 子類的原型等於父類的乙個例項 把父類a中私有的屬性和公有的屬性都繼承過來,變為子類b中公有的屬性 function a a.prototype function b b.prototype new a b.prototype.constructor ...

設計模式分析 組合模式

對於樹形結構,當容器物件 如資料夾 的某乙個方法被呼叫時,將遍歷整個樹形結構,尋找也包含這個方法的成員物件 可以是容器物件,也可以是葉子物件,如子資料夾和檔案 並呼叫執行。遞迴呼叫 由於容器物件和葉子物件在功能上的區別,在使用這些物件的客戶端 中必須有區別地對待容器物件和葉子物件,而實際上大多數情況...

常見設計模式分析

author shenqi date 2018 1 10.單例模式 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。單例模式 懶漢式 public class singleton public static singleton getsingleton return singleton 單例...