1. 程式人生 > >《設計模式之禪》學習小節之模板方法模式,建造者模式和代理模式

《設計模式之禪》學習小節之模板方法模式,建造者模式和代理模式

一。模板方法模式

其通用類圖如下:
模板方法可以用來定義一個演算法框架;通過將演算法對基本方法的排程封裝在抽象類的公開方法中(模板方法),同時把基本方法交給子類實現;實現了封裝不變部分,擴充套件可變部分的目的。另外,應儘量將基本方法的訪問許可權宣告為保護。

二。建造者模式

當一個產品類由多個部分(具體的說就是屬性)組成,且每次生成物件後需要進行大量初始化工作(如:頻繁通過Setter設定屬性值)時,可以使用建造者模式,其通用類圖如下:

建造者模式通過設定多個建造類來封裝一個產品類根據使用者需求不同的多種初始化工作,返回滿足客戶類需要的已初始化產品類;同時設定一個導演類管理建造類的排程,使在增加建造類時客戶類的耦合度不會增加。

三。代理模式


“為其他物件提供一種代理以控制對這個物件的訪問”,並且可以在被委託物件的方法執行前後新增預處理和善後處理;使被委託物件可以專注於業務的邏輯,這就是代理模式。