模板方法模式(Template Method Pattern)
2016-01-21 17:34
573 查看
模板方法模式(Template Method Pattern)
define the skeleton of an algorithm in an operation, deferring some steps to subclasses. Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm’s structure
定义一个操作中的算法框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结果即可重定义该算法的某些特定步骤。
flyfish 2016-1-21 本文编程语言采用C+++实现,参考《设计模式之禅》中的Java实现
define the skeleton of an algorithm in an operation, deferring some steps to subclasses. Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm’s structure
定义一个操作中的算法框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结果即可重定义该算法的某些特定步骤。
class AbstractClass { protected: virtual void DoSomething(){} virtual void DoAnything(){} public: void TemplateMethod() { void DoSomething(); void DoAnything(); } }; class ConcreteClass1 : public AbstractClass { //实现基本方法 protected: virtual void DoSomething(){}//业务逻辑处理 virtual void DoAnything(){}//业务逻辑处理 }; class ConcreteClass2 : public AbstractClass { //实现基本方法 protected: virtual void DoSomething(){}//业务逻辑处理 virtual void DoAnything(){}//业务逻辑处理 }; //使用 AbstractClass *class1 = new ConcreteClass1; class1->TemplateMethod(); AbstractClass *class2 = new ConcreteClass2; class2->TemplateMethod();
相关文章推荐
- Autosqli——A better sqlmap
- 本人整理ie6兼容问题的解决方法
- 增强的页面元素
- Java读取、创建xml(通过dom方式)文档版
- 调整数组顺序使奇数位于偶数前面
- 使用Cornerstone更新后工程打不开问题的解决办法
- 【Ogre引擎架构】 第十二讲 粒子系统-飘雪之国
- java正则表达式获取指定HTML标签的指定属性值
- LeetCode240:Search a 2D Matrix II
- win 命令行启动mysql
- Python数据
- 证明定积分等式
- lhgDialog窗口组件
- 消息队列产品比较
- CodeForces 603A Alternative Thinking 题解
- NSUserDefaults的使用
- Java基础之泛型
- Objective-C你了解吗--如何编写高质量有效的OC代码
- Android中实现App的退出
- C++外部程序修改exe文件属性信息的版本信息