1.模板模式是类的行为模式。模板模式是基于继承的代码复用的基本技术,模板方法模式的结构和用法也是面向对象设计的核心。
2.模板模式的角色
一)抽象模板角色:
1)定义了一个或多个抽象操作,以便让子类实现。这些抽象操作叫做基本操作,他们是一个顶级逻辑的
组成步骤。
2)定义并实现一个模板方法。这个模板方法一般是一个具体的方法,它给出了顶级逻辑的骨架,而逻辑
的组成步骤在相应的抽象操作中,推迟到子类中实现。顶级逻辑也有可能调用一些具体的方法。
二)具体模板角色
1)实现父类所定义的一个或者多个抽象方法,它们是一个顶级逻辑的组成步骤。
2)每一个抽象模板角色都可以有任意多个具体模板角色与之对应,而每一个具体模板角色都可以给出这
些抽象方法(也就是顶级逻辑的组成步骤)的不同实现,从而使得顶级逻辑的实现各不相同。
3.设计理念:尽量减少必须由子类置换掉的基本方法的数目。
4.需要注意的地方
1)默认的钩子方法:由抽象类提供声明,并提供默认的实现,可以有子类置换掉,以扩展父类。主要
就不必像接口那样,必须实现所有接口,只需要实现必要接口,和修改特殊方法就可以了
2)命名规则:钩子方法都必须是用do开始的
3)建立取值方法(钩子方法,只返回值),把状态声明推迟到子类实现。
4)同时请参考重构原则博客