模版方法模式

简介: 模版方法模式

模版方法模式(TemplateMethod)

当我们要完成某一细节或者层次一致但是其个别步骤在更详细的层次上的实现可能不同时,我们通常考虑用模版方法模式来处理。

—————《大话设计模式》

代码如下

#include <iostream>
using namespace std;
/*
 模版方法模式与模版不同
 但是基本思想是一样的。
 都是不重复的做相同的事情 
 */
 /*模版方法模式*/
 class AbstractBase{
    public:
        void TemplateMethod()
        {
            cout<<"客户信息表:"<<endl;
            cout<<"姓名"<<this->Name()<<endl;
             cout<<"年龄"<<this->Age()<<endl;
        }
        protected:
            /*将两个虚接口定义成受保护的原因是为了让客户端无法直接调用*/
            virtual string Name()=0;
            virtual int Age()=0;
 }; 
 class Message:public AbstractBase{
    private:
        string name;
        int age;
        public:
            Message()
             {
             this->name="未知";
             this->age=0;
             }
             Message(string name,int age)
             {
                this->name=name;
                this->age=age;
             }
        protected:
            string Name()
            {
                return name;
            }
            int Age()
            {
                return age;
            }
 };
int main(void)
{
    AbstractBase *p1=new Message("Tom",15);
    AbstractBase *p2=new Message("King",25);
    p1->TemplateMethod();
    p2->TemplateMethod();
    return 0;
}


优点:

通过将不变的行为搬移到基类中去除子类的重复代码。便于代码复用。


相关文章
|
9月前
|
设计模式 Java
常用设计模式(工厂方法,抽象工厂,责任链,装饰器模式)
有关设计模式的其他常用模式请参考 单例模式的实现 常见的设计模式(模板与方法,观察者模式,策略模式)
87 2
|
6月前
|
设计模式 算法
什么是模板方法模式?
【8月更文挑战第22天】
59 0
|
6月前
|
设计模式 算法
模板方法模式
【8月更文挑战第22天】
41 0
|
9月前
|
设计模式 算法 前端开发
【设计模式】之模版方法模式
模板模式是一种非常有用的设计模式,在前端开发中经常用于定义和扩展算法流程。它通过定义一个算法骨架,并将一些具体步骤的实现延迟到子类中,实现了优雅地管理和执行操作。通过使用模板模式,我们可以提高代码的可维护性和可扩展性。然而,在应用模板模式时需要权衡其带来的优缺点,并根据具体情况进行选择。
88 1
|
设计模式 Go iOS开发
23种设计模式漫画版系列—抽象工厂
23种设计模式漫画版系列—抽象工厂
80 0
|
设计模式 算法 前端开发
前端实现设计模式之模版方法模式
模版方法模式是一种行为型设计模式,它定义了一个算法的骨架,将一些步骤的实现延迟到子类中。通过在父类中定义算法的结构,而将具体的实现留给子类来完成,模版方法模式提供了一种统一的算法框架,同时允许子类根据需要进行自定义实现。在前端开发中,模版方法模式常用于处理具有相似流程的操作,同时保持代码的可复用性和可扩展性。本文将介绍模版方法模式的概念和应用,并提供具体的代码示例和解读。
106 0
|
设计模式 消息中间件 Java
【Java设计模式 面向对象设计思想】三 再谈抽象类和接口
【Java设计模式 面向对象设计思想】三 再谈抽象类和接口
177 0
|
算法 前端开发
关于模板方法模式我所知道的
关于模板方法模式我所知道的
105 0
|
设计模式 Java
Java常用设计模式-简单工厂和抽象工厂模式
Java常用设计模式-简单工厂和抽象工厂模式
|
设计模式
我学会了,模板方法模式
模板方法模式属于行为型模式,这个类型的设计模式总结出了 类、对象之间的经典交互方式,将类、对象的行为和使用解耦了,花式的去使用对象的行为来完成特定场景下的功能。
89 0
我学会了,模板方法模式