设计模式-模板模式
一、所用到的类
一个抽象类:里面都是固定的方法,然后外加一个调用这些固定流程方法的方法
N个实现类:这些实现类去实现固定的那些方法
二、代码实现
抽象类
public abstract class OneDay {abstract void getup ();abstract void eat ();abstract void sleep ();public void start () {getup();eat();sleep();}
}
实现类1
public class JayOneDay extends OneDay{@Overridevoid getup() {System.out.println("Jay get up");}@Overridevoid eat() {System.out.println("Jay eat");}@Overridevoid sleep() {System.out.println("Jay sleep");}
}
实现类2
public class TimOneDay extends OneDay{@Overridevoid getup() {System.out.println("Tim OneDay getup");}@Overridevoid eat() {System.out.println("Tim OneDay eat");}@Overridevoid sleep() {System.out.println("Tim OneDay sleep");}
}
调用类
@SpringBootApplication
public class TemplateApplication {public static void main(String[] args) {OneDay oneDay = new JayOneDay();oneDay.start();oneDay = new TimOneDay();oneDay.start();}
}
三、总结
模板模式适用于对一个流程进行封装,这个流程中可能会有多种行为。