最近在看《Thinking In UML大象》。看到里面讲接口设计的时候,举了“把大象放入冰箱”的例子。自己顺手就写了一下,用到了模板模式
从main方法开始
public static void main(String[] args) {
Refrige refrige = new Refrige();// 首先需要一个冰箱
Elephant elephant = new Elephant();// 然后需要一头大象
Job job = new JobHandler();
job.execute(refrige, elephant);// 最后把大象放入冰箱
}
Refrige和Elephant是简单的两个实体类,这里方便起见,就重写了toString
public class Refrige {
@Override
public String toString(){
return "海尔冰箱";
}
}
public class Elephant {
@Override
public String toString(){
return "大象";
}
}
Job是抽象类,其中定义了装大象的3步open, put, close,以及顺序执行这3步的方法execute
public abstract class Job {
public abstract void open(Refrige refrige);
public a