Template
在Template的抽象基类中,一般可以分为三种方法。
1. 声明为abstract的方法,需要子类来实现
2. 各子类共有的代码,在基类中实现。一般为了防止子类override,可以把这种方法声明为final
3. 被称为hook方法,在基类中什么也不做,或者是执行默认的动作,子类可以override.
Template和Strategy的区别:
Template定义了一个算法的一系列步骤,再在子类中具体的实现这些步骤,可以将重复的代码集中到基类中
Strategy在不同的对象中完全实现一个算法,使用的类不知道它内部的实现情况,但是可以动态的替换不同的实现类。
本文探讨了模板模式与策略模式的区别。模板模式定义了一系列步骤并在子类中实现,允许集中共用代码;策略模式则在不同对象中实现同一算法,使其实现可替换。这两种模式分别适用于不同场景。

1万+

被折叠的 条评论
为什么被折叠?



