一。模板方法模式
其通用类图如下:
模板方法可以用来定义一个算法框架;通过将算法对基本方法的调度封装在抽象类的公开方法中(模板方法),同时把基本方法交给子类实现;实现了封装不变部分,扩展可变部分的目的。另外,应尽量将基本方法的访问权限声明为保护。
二。建造者模式
当一个产品类由多个部分(具体的说就是属性)组成,且每次生成对象后需要进行大量初始化工作(如:频繁通过Setter设置属性值)时,可以使用建造者模式,其通用类图如下:
建造者模式通过设置多个建造类来封装一个产品类根据用户需求不同的多种初始化工作,返回满足客户类需要的已初始化产品类;同时设置一个导演类管理建造类的调度,使在增加建造类时客户类的耦合度不会增加。
三。代理模式
“为其他对象提供一种代理以控制对这个对象的访问”,并且可以在被委托对象的方法执行前后添加预处理和善后处理;使被委托对象可以专注于业务的逻辑,这就是代理模式。