模板模式的简单实现。
1 对应
package modelpattern;
public abstract class AbstractComputer {
protected void powerOn() {
System.out.println("开启电源");
}
protected void checkHardWare() {
System.out.println("硬件检查");
}
protected void loadOS() {
System.out.println("载入操作系统");
}
protected void login() {
System.out.println("通过用户验证");
}
public final void startUp() {
System.out.println("--------开机 START----------");
powerOn();
checkHardWare();
loadOS();
login();
System.out.println("--------关机 END----------");
}
}
2 子类根据业务需要,重写对应的父类方法:
package modelpattern;
public class CoderComputer extends AbstractComputer{
@Override
protected void login() {
System.out.println("程序员用账号和密码登录");
}
}
package modelpattern;
public class MilitaryComputer extends AbstractComputer{
@Override
protected void checkHardWare() {
super.checkHardWare();
System.out.println("检查硬件防火墙");
}
@Override
protected void login() {
System.out.println("进行指纹识别用户验证");
}
}
3 测试不同业务的逻辑:
package modelpattern;
public class Test {
public static void main(String[] args) {
AbstractComputer computer = new CoderComputer();
computer.startUp();
computer = new MilitaryComputer();
computer.startUp();
}
}