设计模式之22 - 模板方法Template method
来源:互联网 发布:ubuntu配置tomcat环境 编辑:程序博客网 时间:2024/05/29 19:24
模板 是一个通俗的概念定义,PPT模板、Word模板、Excel模板,你能接触的模板有很多,模板其实就是一个 Example、一个框架,你根据这个例子去具体实现。
模板方法 的概念与此类似,在 抽象类中定义 算法的骨架,将具体内容 延迟到子类实现。
上面的这个图说明的比较清晰,我们通过代码再来看一下:
class AbstractClass{public: // 模板方法,给出逻辑骨架,而逻辑的组成是相应的抽象操作,它们推迟到子类去实现 void TemplateMethod() { PrimitiveOperation1(); PrimitiveOperation2(); PrimitiveOperation3(); }protected: // 一些抽象行为,放到子类去实现 virtual void PrimitiveOperation1(); virtual void PrimitiveOperation2(); virtual void PrimitiveOperation3();};// 具体类A,实现了抽象类中的特定步骤class ConcreteClassA : AbstractClass{protected: virtual void PrimitiveOperation1() { // …… } virtual void PrimitiveOperation2() { // …… } virtual void PrimitiveOperation3() { // …… }};// 具体类B,实现了抽象类中的特定步骤 - 与A不同class ConcreteClassB : AbstractClass{protected: virtual void PrimitiveOperation1() { // 与ConcreteClassA不同 } virtual void PrimitiveOperation2() { // 与ConcreteClassA不同 } virtual void PrimitiveOperation3() { // 与ConcreteClassA不同 }};
模板方法 通过继承来实现方法的扩展,这种思路比较重要的意义在于能够对算法的轮廓进行 划分,能够有效分离出主次,方便从整体到局部的扩展。
在程序的主框架相同、细节不同的情况下,可以考虑使用模板方法。
2 0
- 设计模式之Template Method (模板方法)
- 设计模式之模板方法Template Method
- 设计模式之22 - 模板方法Template method
- 设计模式之Template Method模式(模板方法模式)
- 设计模式之模板方法模式(Template Method)
- 大话设计模式之模板方法模式(Template Method Pattern)
- Php设计模式之【模板方法模式Template Method Pattern 】
- 设计模式之模板方法模式(Template Method)
- 设计模式介绍之四:模板方法(Template Method)模式
- java设计模式之模板方法模式Template method
- 设计模式之模板方法模式(Template Method)摘录
- C#设计模式之模板方法模式(Template Method)
- JAVA设计模式之 模板方法模式【Template Method Pattern】
- Java设计模式之模板方法模式(Template Method)
- 设计模式浅析之--模板方法模式Template Method
- 设计模式之七:模板方法模式(Template Method)
- 设计模式之模板方法模式---template method
- Java设计模式之模板方法模式(Template Method)
- 设计模式之21 - 策略模式Strategy
- java并发结构
- 在Dubbo中开发REST风格的远程调用(RESTful Remoting)
- HBASE教程
- 微信小程序精品demo:有调商城(礼物挑选神器)(适用1304)
- 设计模式之22 - 模板方法Template method
- MySQL入门之简单数据查询
- TFS 2015 敏捷开发实践 – 看板的使用
- Bluetooth---如何使用Android蓝牙开发
- 347. Top K Frequent Elements**
- 设计模式之23 - 访问者模式Visitor
- linux学习之混合编程
- 安卓漫漫路之碎片Fragment不同包下的区别.
- Swift3.0 URLSession学习笔记