行为型TemplateMethod模式
Posted jacc.kim
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了行为型TemplateMethod模式相关的知识,希望对你有一定的参考价值。
模板方法意图是为算法定义好骨架结构,并且其中的某些步骤延迟到子类实现。该模式算是较为简单的一种设计模式。在实际中,应用也较为频繁。模式的类关系图参考如下:
模式的编码结构参考如下:
1 namespace template_method 2 { 3 class IAbstractClass 4 { 5 public: 6 // some code here........ 7 void doSomething() { 8 this->Step1(); 9 this->Step2(); // call subclass impl. 10 this->Step3(); 11 this->StepN(); 12 } 13 14 protected: 15 void Step1() { /*some code here........*/ } 16 virtual void Step2() = 0; 17 void Step3() { /*some code here........*/ } 18 void StepN() { /*some code here........*/ } 19 20 };//class IAbstractClass 21 22 class ContextClass : public IAbstractClass 23 { 24 protected: 25 virtual void Step2() override { 26 // do something here........ 27 } 28 29 };//class ContextClass 30 31 }//namespace template_method
以上是关于行为型TemplateMethod模式的主要内容,如果未能解决你的问题,请参考以下文章