设计模式-外观模式

设计模式-外观模式

外观(Facade)模式为子系统中的一组接口提供一个一致的界面。

它的结构比较简单,为系统定义了高层接口。包含对各个子系统的引用,调用方通过高层接口调用各个子系统的功能。

class diagram
外观模式通过增加 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("螺蛳粉");
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值