Book Review about Head First Design Pattern 7

来源:互联网 发布:知天气福建版 编辑:程序博客网 时间:2024/05/16 11:42

Template
在Template的抽象基类中,一般可以分为三种方法。
1. 声明为abstract的方法,需要子类来实现
2. 各子类共有的代码,在基类中实现。一般为了防止子类override,可以把这种方法声明为final
3. 被称为hook方法,在基类中什么也不做,或者是执行默认的动作,子类可以override.

Template和Strategy的区别:
Template定义了一个算法的一系列步骤,再在子类中具体的实现这些步骤,可以将重复的代码集中到基类中
Strategy在不同的对象中完全实现一个算法,使用的类不知道它内部的实现情况,但是可以动态的替换不同的实现类。