设计模式-模板方法(Template Metod)模式
?什么是模式?
??? 每一个模式都描述了一个在我们周围不断发生的问题,以及该问题的解决方案的核心,这样,你就能够无数次地使用该解决方案而不是按照同样的方式重做一遍。
?
模板方法(Template Method)模式
??? 定义在一个操作中的一个算法框架,把一些步骤推迟到子类去实现。模板方法模式让子类不需要改变算法结构而重新定义特定的算法步骤。
?
public abstract class HappyPeople {
??? public void celebrateSpringFestival() {
??? ???
??? ??? subscribeTicket();
??? ??? travel();
??? ??? celebrate();
??? ???
??? }
???
??? protected final void subscribeTicket() {
??? ???
??? }
???
??? protected abstract void travel();
???
??? protected final void celebrate() {
??? ???
??? }
???
}
?
public class PassangerByAir extends HappyPeople {
??? @Override
??? protected void travel() {
??? ??? System.out.println("Traveling by air.....");
??? }
}
?
?