标签:
1. 模板方法模式的功能
在于固定算法骨架,而让具体算法实现可扩展
2. 为何不是接口
通常在 既要约束子类的行为,又要为子类提供公共功能 的时候使用抽象类
3. 变与不变
变化部分通过接口或者抽象类,不变的部分抽象出来作为公共实现
4. 好莱坞法则
父类模板调用子类方法,由父类去找子类,而不是子类找父类,这是一种反向控制结构,这种结构的实现原理在于java动态绑定采用的是后期绑定技术
5. 模板写法
模板方法:定义算法骨架
具体操作:相对固定且是公共部分的算法,一般设置为private,如果需要子类访问应该设计为protected final
具体的AbstractClass操作:辅助公共功能
原语操作:抽象操作,由子类实现
钩子操作: 可以被子类拓展的点
Factory Method: 实例化子类
coding...
6. Java回调与模板方法模式
SpringTemplate就是利用这种方式实现的,其原理利用的是Java的动态绑定技术。
7. Java中典型应用
集合排序,通过传入Comparator接口实例进行排序
8. 模板方法模式总结
本质:固定算法骨架
设计原则:开闭原则和里式替换原则
9. 关联模式
工厂方法模式
策略模式
标签:
原文地址:http://www.cnblogs.com/zhaojunyang/p/5714358.html