设计模式-外观模式
程序员文章站
2023-04-05 23:09:48
本片文章主要介绍外观模式。 外观模式:为子系统中一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 我们先看下结构图: 下面我们就以这个结构图写个简单的例子: 首先是四个子系统的代码。 然后是外观类,它需要了解所有的子系统的方法或属性,进行组合,以备外界调用。 ......
设计模式-外观模式
外观(Facade)模式为子系统中的一组接口提供一个一致的界面。
它的结构比较简单,为系统定义了高层接口。包含对各个子系统的引用,调用方通过高层接口调用各个子系统的功能。
外观模式通过增加 facade 实现了客户端与子系统之间的松耦合,子系统的迭代不会被客户端感知
比如我们去餐馆吃饭点餐
有点餐,制作和上菜三个步骤
public class Ordering {
public void order(String dish){
System.out.println("点菜" + dish);
}
}
public class Cooking {
public void cook(String dish){
System.out.println("制作餐品" + dish);
}
}
public class Serving {
public void serve(String dish){
System.out.println("上菜" + dish);
}
}
客户其实并不需要了解这些细节,直接定义一个外观类
public class Facade {
private Ordering ordering = new Ordering();
private Cooking cooking = new Cooking();
private Serving serving = new Serving();
public void orderDish(String dish){
ordering.order(dish);
cooking.cook(dish);
serving.serve(dish);
}
}
那客户点餐就是这样
public class EatOut {
public static void main(String[] args) {
Facade facade = new Facade();
facade.orderDish("螺蛳粉");
}
}
本文地址:https://blog.csdn.net/m0_37543289/article/details/107384123
上一篇: 操作系统基础知识总结(连载)
下一篇: Netty解决粘包和拆包问题的四种方案