模板方法模式

412 阅读1分钟

概念

将一系列操作步骤定义在抽象中形成算法框架,而将一些步骤延迟到子类中去实现。一般是将相同代码抽取到父类,然后通过钩子函数约束其行为。优点是提取公共代码,便于维护,缺点是可读性降低。

实现方式

public abstract class Template {
    protected void powerOn(){
        System.out.println("开启"):
    }
    protected void load(){
        System.out.println("loading"):
    }
    protected void login(){
        System.out.println("登录"):
    }

    public final void startUp(){
        powerOn();
        load();
        login();
    }
}

public class Computer1 extends Template {
    @Overrude
    public void login(){
        System.out.println("免密登录"); 
    }
}

public class Computer2 extends Templete {
    @Override
    public void login(){
        super();
        System.out.println("再来一次指纹识别");
    }
}