组件协作
主要通过晚绑定实现框架与应用的松耦合。
模板方法:程序库开发员负责搭建框架,其中Run()
函数各个模块按步骤执行可以看做 一个模板,但模板中的一些步骤为虚函数,比如step2()
,step4()
,需要应用开发程序员去实现。这样是一种晚绑定的。
分析模式的要点:哪些东西是稳定的,哪些东西不是稳定的。
要点总结:
- 模板方法是非常基础的设计模式,采用最简单的机制(虚函数多态),为程序的框架提供了灵活的扩展点,代码复用。
- 除了灵活应对子步骤变化之外,反向控制结构(不要调用我,让我来调用你)
- 在具体实现方面,模板方法调用方法可以具有实现,也可以没有任何实现(抽象方法、纯虚方法),但一般推荐把他们设置成protected方法。