设计模式-模板方法模式

 对数据库的操作一般包括连接、打开、使用、关闭等步骤,在数据库操作模板类中我们定义了connDB()openDB()useDB()closeDB()四个方法分别对应这四个步骤。对于不同类型的数据库(如SQL ServerOracle),其操作步骤都一致,只是连接数据库connDB()方法有所区别,试使用模板方法模式对其进行设计.

类图:

实现代码:

数据库抽象类DBAbstractClass  

package TemplateMethodPattern;

 

public  abstract class DBAbstractClass  {

    public void templateMethod(){

    connDB();

    openDB();

    useDB();

    closeDB();

    }

    public abstract void connDB();

    public void openDB(){

        System.out.println("打开数据库");

    }

    public void useDB(){

        System.out.println("使用数据库");

    }

    public void closeDB(){

        System.out.println("关闭数据库");

    }

}

 

具体子类SQLServer 

package TemplateMethodPattern;

 

public class SQLServer extends DBAbstractClass {

    @Override

    public void connDB() {

        System.out.println("连接SQLServer数据库");

    }

}

 

具体子类Oracle 

package TemplateMethodPattern;

 

public class Oracle extends DBAbstractClass {

    @Override

    public void connDB() {

        System.out.println("连接Oracle数据库");

    }

}

客户端类Client 

package TemplateMethodPattern;

 

public class Client {

    public static void main(String[] args) {

        DBAbstractClass dbAbstractClass;

        dbAbstractClass = new SQLServer();

        dbAbstractClass.templateMethod();

    }

}