大话设计模式:外观模式
一、什么是外观模式 为子系统中的一组接口提供一个一致的界面 用一个高层接口,统一了一组底层接口,和外界交互更加方便,外部应用程序不需要关心内部子系统的具体细节,大大降低程序的复杂度,提高程序可维护性. UML图 Facade :外观类,负责将子系统的功能接口统一到一个接口 SubsysytemA : 子系统,不与客户端直接联络 Client : 只和外观类联络,减少耦合性 二、适用场景 各种代办事宜,这个事宜其实是个流程,比如你去餐馆点菜,只需要用手机扫码点菜, 餐馆服务员、 厨房大厨、帮工就都会通过这个点餐APP收到菜品,然后开始制作,客人不需要知道这个菜都有哪些人参与。再就是在一个旧的系统基础上去添加新功能,旧的系统已经很难修改和扩展了,这样在交互的时候留出接口统一到一个外观类接口,然后新人只需要编写自己的功能类然后和这个外观类交互。 三、优缺点 优点 减少系统互相依赖,减少耦合性 提高灵活性,可复用性高 提高安全性,只和朋友联络 缺点 增加了一层中介层 不符合开闭原则 四、大话中的例子 买股票还是买基金的问题: 买股票就是耦合太高,个人需要和所有想要买得股票耦合,调研学习,然后只单只的购买。但是基金不一样,基金个人只需要关注一只基金,这只基金会去和市面上的股票证券等金融类型打交道,对个人来说耦合性大大降低。比如有股票A、股票B、股票C、证券A、证券B,如果没有外观类,我想买