模板方法模式
定义
模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类之中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。
需求
实现煮咖啡和煮茶,两者之间的步骤及其相似。
传统设计
将一样的步骤放在父类,不一样的步骤放在子类,然后子类继承。
Decorator模式
试用范围
适用于当多个方法的算法步骤一样时采用。
算法注意
该算法可以提供钩子,即算法流程中添加一个方法,这个方法也包含一个空的实现,子类自行决定是否重写。
模板方法模式
定义
模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类之中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。
需求
实现煮咖啡和煮茶,两者之间的步骤及其相似。
传统设计
将一样的步骤放在父类,不一样的步骤放在子类,然后子类继承。
Decorator模式
试用范围
适用于当多个方法的算法步骤一样时采用。
算法注意
该算法可以提供钩子,即算法流程中添加一个方法,这个方法也包含一个空的实现,子类自行决定是否重写。