您的位置:首页 > 其它

设计模式之七、模板方法模式TemplateMethod

2011-03-22 17:24 281 查看
设计模式之七、模板方法模式TemplateMethod</br>

适用范围:定义一个操作的骨架算法,而将一些步骤延迟到子类中,模板方法使子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。</br>

实例:如考试试题,试题可以作为抽象的模板类,而每一个学生的答案即为一个子类。</br>

模板方法模式的结构图如下所示:</br>


C++关键代码如下:</br>
1、父类关键代码如下:IAbstract.h</br>
virtual int GetResutl() = 0;</br>

2、子类A的实现:CConcreteA.cpp</br>
int CConcreteA::GetResult()</br>
{</br>
return 1;</br>
}</br>
3、子类B的实现:CConcreteB.cpp</br>
int CConcreteB::GetResult()</br>
{</br>
return 2;</br>
}</br>

4、客户端代码实现main.cpp</br>
CConcreteA a;</br>
CConcreteB b;</br>
cout<<"a result:"<<a.GetResult()<<endl;</br>
cout<<"b result:"<<b.GetResult()<<endl;</br>

<br>

此模式比较简单,在实际应用中可能会发挥不错的效果。暂时还未在项目中发现类似的使用。呵呵~</br>

以上,仅供参考。</br>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: