模板模式的簡單實現。
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();
}
}