Java设计模式-----Template Method模式

源自:http://www.blogjava.net/flustar/archive/2007/11/28/templateMethod.html

Template Method模式:

定义一个操作中算法的骨架,而将一些步骤延迟到子类中。不改变算法的结构而重新定义它的步骤。

例子:

public abstract class QueryTemplate {

	public void doQuery() {
		formatConnect();
		formatSelect();
	}

	protected abstract void formatConnect();

	protected abstract void formatSelect();
}

public class OracleQT extends QueryTemplate {

	protected void formatConnect() {
		System.out.println("格式化Qracle数据库连接");
	}

	protected void formatSelect() {
		System.out.println("格式化Oracle数据库查询");
	}
}

public class MysqlQT extends QueryTemplate {

	protected void formatConnect() {
		 System.out.println("格式化Mysql数据库连接");
	}

	protected void formatSelect() {
		System.out.println("格式化Mysql数据库查询");
	}
}

public class Client {

	public static void main(String[] args) {
		
		QueryTemplate oracleQT = new OracleQT();
		oracleQT.doQuery();

		QueryTemplate mysqlQT = new MysqlQT();
		mysqlQT.doQuery();
	}
}

你可能感兴趣的:(java,设计模式,mysql,数据库,算法,Class)