设计模式2模板模式吃甜还是吃咸
摸版通俗的意思就是用于复制,在代码的世界中就是重用。想下如果一段代码里面有许多公用的代码,但是又要适用与不同条件。你是不是还在不停的使用IF ELSE 呢?今天的模板模式会告诉你一种全新的解决方案。
2、南北汤圆,吃咸还是甜
煮汤圆的大致步骤 1煮开水,2下汤圆,3放糖还是放盐。我们发现前2步是共用的,南北方的小伙伴都是这样子做的。那么第3放糖还是放盐,除了if else 我们应该怎么处理呢?
2、编写父类abstract
public abstract class TangYuan {private void boil(){
System.out.println("水开了");
}
private void tangYuan(){
System.out.println("放汤圆");
}
//控制下盐还是糖
public void saltOrSugar(){
System.out.println("放盐");
}
//烹饪
public void cook(){
boil();
tangYuan();
saltOrSugar();
}
}
3、编写子类放糖
public class SugarTangYuan extends TangYuan{@Override
public void saltOrSugar(){
System.out.println("放糖");
}
}
4、编写子类放盐
public class SaltTangYuan extends TangYuan{@Override
public void saltOrSugar(){
System.out.println("放盐");
}
}
5、编写测试
public class Test {public static void main(String[] args) {
SaltTangYuan saltTangYuan =new SaltTangYuan();
SugarTangYuan sugarTangYuan =new SugarTangYuan();
saltTangYuan.cook();
sugarTangYuan.cook();
}
}
6、执行结果
水开了
放汤圆
放盐
水开了
放汤圆
放糖
那么2种不同的做法就做完了,要吃什么味道的,就new什么汤圆就可以了。
以上是 设计模式2模板模式吃甜还是吃咸 的全部内容, 来源链接: utcz.com/z/515192.html