模板设计模式

Posted lavar

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模板设计模式相关的知识,希望对你有一定的参考价值。

模板设计模式

我们现在使用抽象类设计一个模板模式的应用,例如在小学的时候,我们经常写作文,通常都是有模板可以套用的。假如我现在需要定义新司机和老司机类,新司机和老司机都有开车功能,开车的步骤都一样,只是驾驶时的姿势有点 不同,新司机:开门,点火,双手紧握方向盘,刹车,熄火,老司机:开门,点火,右手握方向盘左手抽烟,刹车,熄火。我们可以 将固定流程写到父类中,不同的地方就定义成抽象方法,让不同的子类去重写,代码如下:

// 司机开车的模板类

 public abstract class Driver 

    public void go()  

       System.out.println("开门"); 

       System.out.println("点火");

        // 开车姿势不确定?定义为抽象方法

        ziShi();

        System.out.println("刹车");

        System.out.println("熄火");

    

    public abstract void ziShi();

 

 

现在定义两个使用模板的司机:

public class NewDriver extends Driver 

    @Override

    public void ziShi() 

        System.out.println("新司机双手紧握方向盘"); 

    



public class OldDriver extends Driver 

    @Override    public void ziShi() 

        System.out.println("老司机右手握方向盘左手抽烟...");

     

 

编写测试类

public class Demo02 

    public static void main(String[] args)  

       NewDriver nd = new NewDriver();

        nd.go();

        OldDriver od = new OldDriver();

        od.go();

     

 

以上是关于模板设计模式的主要内容,如果未能解决你的问题,请参考以下文章

设计模式模板方法模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )

14.设计模式_模板方法模式

Spring中的设计模式:模板模式

设计模式整理_模板模式

设计模式之模板模式

设计模式---模板方法设计模式