設計模式(七)

2021-06-20 20:27:31 字數 310 閱讀 3943

演算法封裝

模板方法 父類定義乙個操作中的演算法的骨架(介面),而將一些缺少的資訊通過子類繼承來實現。(比如nsview的重繪)

而委託則是與委託介面一起定義乙個特定的演算法,比如tableview的**委託。

策略模式

將演算法與使用演算法的責任分割開來。

涉及到三個角色

a.conext :持有乙個strategy的引用

b.strategy抽象策略角色,給出所有的具體策略類所需介面

c.具體策略角色,包含真正相關的演算法或行為

客戶端必須知道所有的策略類,並自行決定使用哪乙個策略類

設計模式 (七)設計模式原則

1 乙個物件應該對其他物件保持最少的了解 2 類與類之間關係越密切,耦合度越大 3 迪公尺特法則又叫做最小知道原則,即乙個類對自己依賴的類知道的越少越好。也就是說,對於被依賴的類不管多麼複雜,都盡量將邏輯封裝在類的內部,對外除了提供的public方法,不對外洩露任何資訊 4 迪公尺特法則還有個更簡單...

設計模式(七)裝飾模式

裝飾模式介紹 裝飾模式是結構型設計模式之一,不必改變類檔案和使用繼承的情況下,動態地擴充套件乙個物件的功能,是繼承的替代方案之一。它是通過建立乙個包裝物件,也就是裝飾來包裹真實的物件。定義動態地給乙個物件新增一些額外的職責,就增加功能來說,裝飾模式比生成子類更為靈活。裝飾模式結構圖 裝飾模式在現實生...

設計模式《七》 裝飾模式

顧名思義,裝飾模式就是給乙個物件增加一些新的功能,而且是動態的,要求裝飾物件和被裝飾物件實現同乙個介面,裝飾物件持有被裝飾物件的例項。component 抽象介面,可以給這些物件動態地增加職責。concretecomponent component的具體物件,也可以對這個物件新增一下職責。decor...