码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式——模板方法模式

时间:2019-07-06 17:48:24      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:info   turn   jaf   ilo   class   nrv   方法   bst   jsb   

这次来看下模板方法,还是先来看下head first的定义:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。

再来看下类图:

技术图片

看下代码吧:

public abstract class DB {

    public void connectDB() {
        if (dirverHook()) {
            prepareDirver();
        }
        getConnect();
    }

    public abstract void prepareDirver();

    public boolean dirverHook() {
        return true;
    }

    public void getConnect() {
        System.out.println("获取连接");
    }
}

  

public class Mysql extends DB {

    @Override
    public void prepareDirver() {
        System.out.println("准备mysql驱动");
    }

    @Override
    public boolean dirverHook() {
        return false;
    }
}

  

public class Oracle extends DB {

    @Override
    public void prepareDirver() {
        System.out.println("准备oracle驱动");
    }
}

  

设计模式——模板方法模式

标签:info   turn   jaf   ilo   class   nrv   方法   bst   jsb   

原文地址:https://www.cnblogs.com/shenqiaqia/p/11143361.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!