1。模板方法定义算法步骤,抽出共同的,不同的延迟到子类实现。
2。钩子可用于算法的某一步,或者控制算法的流程。
3。钩子可以有默认实现。或者为空。
4。不想让子类改变的算法用final。
5。工厂方法是模板方法的一种特殊版本。
6。高层调用,低层尽量不要调用高层,防止循环依赖。
7。实际运用中由于一些约束,多用到的是模板方法的变体。如Array.sort与Comparable
[记号]目前在写基于SWTBot的testcase中的用到,基本没用钩子,代码重复,需改进
1。模板方法定义算法步骤,抽出共同的,不同的延迟到子类实现。
2。钩子可用于算法的某一步,或者控制算法的流程。
3。钩子可以有默认实现。或者为空。
4。不想让子类改变的算法用final。
5。工厂方法是模板方法的一种特殊版本。
6。高层调用,低层尽量不要调用高层,防止循环依赖。
7。实际运用中由于一些约束,多用到的是模板方法的变体。如Array.sort与Comparable
[记号]目前在写基于SWTBot的testcase中的用到,基本没用钩子,代码重复,需改进