模板模式 template
来源:互联网 发布:fast paxos java示例 编辑:程序博客网 时间:2024/06/05 07:44
1、概念:
a) Template Method模式也叫模板方法模式,是行为模式之一,它把具有特定步骤的某些必要对的处理委让给抽象方法,通过子类继承对抽象方法的不同实现整个算法的行为。
2、应用场景:
(a)、Template Method 模式一般应用在具有以下条件的应用中:
(1)、具有统一的操作步骤或者操作过程
(2)、具有不同的操作细节
(3)、存在具有多个就有同样操作步骤的场景,但某些具体的操作细节却各不尽相同。
(b)、总结:
在抽象类中统一操作步骤,并规定好接口,让子类实现接口。这样可以把各个具体的子类和操作步骤直接耦合。
3、角色和职责:
AbstractClass:
抽象类的父类
ConcreteClass:
具体实现的子类
TemplateMethod()
模板方法
Method1()与Method()2
具体方法步骤
4、示例代码:
#include<iostream>using namespace std;class MakeCar{public:virtual void makeBody() = 0;virtual void makeTail() = 0;virtual void makeHead() = 0;virtual void make() // 模板函数{makeTail();makeBody();makeHead();}};class Jeep:public MakeCar{virtual void makeBody(){cout << "Jeep Body" << endl;}virtual void makeTail(){cout << "Jeep Tail" << endl;}virtual void makeHead(){cout << "Jeep Head" << endl;}};class BMW :public MakeCar{virtual void makeBody(){cout << "BMW Body" << endl;}virtual void makeTail(){cout << "BMW Tail" << endl;}virtual void makeHead(){cout << "BMW Head" << endl;}};int main(void){MakeCar *car1 = new Jeep;car1->make();delete car1;car1 = NULL;MakeCar *car2 = new BMW;car2->make();delete car2;car2 = NULL;return 0;}
阅读全文
0 0
- Template模式 模板模式
- 模板模式(Template)
- Template Method 模板模式
- 15.模板模式--Template
- 模板方法模式 - Template
- 【模板方法模式-template】
- 15.模板模式--Template
- PHP-模板(template)模式
- 模板模式(Template Method)
- 模板模式(Template Pattern)
- Template(模板)设计模式
- 模板模式 Template Pattern
- 模板(Template)模式
- 模板模式Template
- 模板方法模式Template
- 模板模式(Template Pattern)
- 模板模式 | Template Pattern
- 模板模式 template
- Unix-Linux编程实践教程——第七章
- Rhyme/Java 常用IO流总结
- axis2的使用(转载)
- Java中Volatile变量小结
- 20191021考试总结2
- 模板模式 template
- CCF CSP Markdown JAVA 201703-3
- ajax做json拼接
- Restricted Boltzmann Machine(限制玻尔兹曼机)
- hdu5512
- 【MySQL】MySQL客户端实现
- hive学习笔记-hive的基本语法
- mycelipse 按ctrl 死机问题
- DBCP连接池使用方法