设计模式(三)模版方法(行为型)

简介:

模板方法模式:定义一个算法的执行骨架,将具体的算法实现延迟到子类完成。

模板方法模式需要开发抽象类和具体子类的设计师之间的协作。一个设计师负责给出一个算法的轮廓和骨架,另一些设计师则负责给出这个算法的各个逻辑步骤。代表这些具体逻辑步骤的方法称做基本方法(primitive method);而将这些基本方法汇总起来的方法叫做模板方法(template method),这个设计模式的名字就是从此而来。

举个例子: 在现实生活中,很多事情都包含几个实现步骤,例如请客吃饭,无论吃什么,一般都包含点单、吃东西、买单等几个步骤,通常情况下这几个步骤的次序是:点单 --> 吃东西 --> 买单。在这三个步骤中,点单和买单大同小异,最大的区别在于第二步——吃什么?吃面条和吃满汉全席可大不相同。

 

代码说明一切                                                                                

这里,代码以一个看模版方法用了多少时间的例子来说明一下:

复制代码
package com.yydcdut.java2;

public abstract class GetTime {
    public void getTime()
    {
        long time1 = System.currentTimeMillis();
        this.doSomething();
        long time2 = System.currentTimeMillis();
        System.out.println("耗时:"+(time2-time1));
        
    }
    
    public abstract void doSomething();
}
复制代码
复制代码
package com.yydcdut.java2;

public class Demo extends GetTime {

    @Override
    public void doSomething() {
        for(int i=0;i<10000;i++)
            System.out.println(""+i);

    }

}
复制代码
复制代码
package com.yydcdut.java2;

public class Main {
    public static void main(String[] args) {
        GetTime gt = new Demo();
        gt.getTime();
    }
}
复制代码

总结                                                                                          

模板方法模式:抽象的骨架类,具体的实现类。

优点:使用模板方法模式,在定义算法骨架的时候,可以灵活的实现具体的算法。满足用户多变的需求。

缺点:假如算法骨架有改动,就需要修改抽象类,那么,具体的实现类,也会跟着修改。

我是天王盖地虎的分割线                                                               

源代码:http://pan.baidu.com/s/1dD1Qx01

java模版.zip

 

 




本文转自我爱物联网博客园博客,原文链接:http://www.cnblogs.com/yydcdut/p/3842819.html,如需转载请自行联系原作者

相关文章
|
14天前
|
设计模式 SQL 算法
设计模式了解哪些,模版模式
设计模式了解哪些,模版模式
19 0
|
3月前
|
设计模式 算法 前端开发
【设计模式】之模版方法模式
模板模式是一种非常有用的设计模式,在前端开发中经常用于定义和扩展算法流程。它通过定义一个算法骨架,并将一些具体步骤的实现延迟到子类中,实现了优雅地管理和执行操作。通过使用模板模式,我们可以提高代码的可维护性和可扩展性。然而,在应用模板模式时需要权衡其带来的优缺点,并根据具体情况进行选择。
35 1
|
9月前
|
设计模式 程序员
设计模式 | 模版方法
设计模式 | 模版方法
57 0
|
8月前
|
设计模式
设计模式之模版模式
设计模式之模版模式
37 0
|
9月前
|
设计模式 算法 前端开发
前端实现设计模式之模版方法模式
模版方法模式是一种行为型设计模式,它定义了一个算法的骨架,将一些步骤的实现延迟到子类中。通过在父类中定义算法的结构,而将具体的实现留给子类来完成,模版方法模式提供了一种统一的算法框架,同时允许子类根据需要进行自定义实现。在前端开发中,模版方法模式常用于处理具有相似流程的操作,同时保持代码的可复用性和可扩展性。本文将介绍模版方法模式的概念和应用,并提供具体的代码示例和解读。
|
9月前
|
设计模式 算法 Java
Go 语言实现模版方法设计模式
在Go语言中,可以使用接口和组合来实现模板方法模式。模板方法模式是一种行为设计模式,它定义了一个算法的骨架,将一些步骤的实现延迟到子类中。下面是一个示例代码,演示了如何在Go中实现模板方法模式
124 0
|
设计模式 算法 程序员
设计模式轻松学【十三】模版方法模式
我们去银行办理业务一般要经过以下4个流程:取号、排队、办理具体业务、对银行工作人员进行评分等,其中取号、排队和对银行工作人员进行评分的业务对每个客户是一样的,可以在父类中实现,但是办理具体业务却因人而异,它可能是存款、取款或者转账等,可以延迟到子类中实现。
115 0
设计模式轻松学【十三】模版方法模式
|
设计模式 算法 机器人
一句话总结殊途同归的设计模式:工厂模式=?策略模式=?模版方法模式
虽然不同的设计模式解决的问题各不相同,但从一个更高的抽象层次来看,它们通过相同的手段来实现相同的目的。本文将以更抽象的视角剖析工厂模式、策略模式、模版方法模式,以及这些模式所遵循的设计原则。
289 0
|
设计模式 算法 Java
0202年了!你还不知道模版方法设计模式?
0202年了!你还不知道模版方法设计模式?
|
设计模式 算法 Java
从零开始学设计模式(十五):模版方法模式(Template Method Pattern)
模版方法模式(Template Method)定义一个操作中算法的框架,并且将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。
150 0
从零开始学设计模式(十五):模版方法模式(Template Method Pattern)