Java 设计模式-模板方法模式(Template Method)
Java 设计模式-简单工厂(Simple Factory)
Java 设计模式-工厂方法(Factory Method)
Java 设计模式-策略模式(Strategy Pattern)
Java 设计模式-命令模式(Command Pattern)
模板方法模式(Template Method Pattern)的定义是:定义一个操作中的算法骨架,将一些易变的步骤延迟到子类中,使得子类在不改变算法结构即可重定义该算法的默写特定步骤。
也就是说将一下不变的方法抽象到父类中,将一些业务相关的方法延迟到子类中。
有一个业务需要检查参数是否合法,结果是否符合预期,以及一些具体业务相关的检查。
/**
*
* @author zhangwei_david
* @version $Id: AbstractPopulator.java, v 0.1 2014年10月21日 下午10:37:02 zhangwei_david Exp $
*/
public abstract class AbstractCheckMamanger {
public void checkBiz() throws Exception {
ckeckParam();
doBizCheck();
checkResult();
}
/**
*
*/
private void checkResult() {
System.out.println("结果检查");
}
/**
*
*/
private void ckeckParam() {
System.out.println("参数检查");
}
/**
*
*/
protected abstract void doBizCheck();
}
/**
*
* @author zhangwei_david
* @version $Id: MyPopulator.java, v 0.1 2014年10月21日 下午10:39:50 zhangwei_david Exp $
*/
public class MyPopulator extends AbstractCheckMamanger {
/**
* @see com.cathy.demo.pattern.templateMethod.AbstractCheckMamanger#doBizCheck()
*/
@Override
protected void doBizCheck() {
System.out.println("子业务检查");
}
}
/**
*
* @author zhangwei_david
* @version $Id: TestClient.java, v 0.1 2014年10月21日 下午10:40:50 zhangwei_david Exp $
*/
public class TestClient {
/**
*
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
AbstractCheckMamanger ap = new MyPopulator();
ap.checkBiz();
}
}
参数检查
子业务检查
结果检查