设计模式一:模板设计模式
1、概述
它的应用场景是同一个接口的不同实现类存在公共代码,这样就可以用模板方法模式将不变部分封装在模板类中,将可变部分作为抽象方法留给子类中,从而复用顶级逻辑的代码。
2、应用场景
1、 使用模板方法模式统一调用外部服务接口
2、 使用模板方法模式对外提供的统一接口服务
3、 使用模板方法模式实现通知服务
3、案例
我们可以将固定流程写到父类中,不同的地方就定义成抽象方法,让不同的子类去重写
// 司机开车的模板类
public abstract class Driver {
public void go() {
System.out.println("开门");
System.out.println("点火");
// 开车姿势不确定?定义为抽象方法
ziShi();
System.out.println("刹车");
System.out.println("熄火");
}
public abstract void ziShi();
}
现在定义两个使用模板的司机:
public class NewDriver extends Driver {
@Override
public void ziShi() {
System.out.println("新司机双手紧握方向盘");
}
}
public class OldDriver extends Driver {
@Override
public void ziShi() {
System.out.println("老司机右手握方向盘左手抽烟...");
}
}
编写测试类
public class Demo02 {
public static void main(String[] args) {
NewDriver nd = new NewDriver();
nd.go();
OldDriver od = new OldDriver();
od.go();
}
}
//运行结果
/*
开门
点火
新司机双手紧握方向盘
刹车
熄火
开门
点火
老司机右手握方向盘左手抽烟...
刹车
熄火
*/
可以看出,模板模式的优势是,模板已经定义了通用架构,使用者只需要关心自己需要实现的功能即可!非常的强大!

浙公网安备 33010602011771号