跳转至

外观模式

概念

Facade模式也叫外观模式,Facade模式为一组具有类似功能的类群,比如类库,子系统等等,提供一个一致的简单的界面。这个一致的简单的界面被称作Facade。

角色和职责

  • Facade
  • 为调用方,定义简单的调用接口
  • Clients
  • 调用者。通过Facade接口调用提供某功能的内部类群。
  • Packages
  • 功能提供者。指提供功能的类群(模块或子系统)

适用于

为子系统中统一一套接口,让子系统更加容易使用。

客户使用多个系统

多个系统统一接口

某个系统改变时, 不至于客户端也得修改

统一的外观 各个子系统包一个外壳

使用外观模式把各个子系统包一层

有一个客户 使用n个系统,如果直接使用系统,其中一个系统发生变化,对客户端影响很大。客户端和子系统耦合太大。可以统一的使用一个外观,多个子系统统一使用这个外观,相当于各个子系统包了一层外壳。

使用一个Facade类,里面包括多个子系统,客户只需要调用Facade对象,不需要调用多个子系统了,Facade里面调用的有多个子系统。

投资者

投资者可以买各种股票(上海股市,深圳股市,几千支股票),债券,期货等。

可以用基金包装一下,由基金去管理投资,投资者去购买基金即可,基金即外观者。

基金有 激进型 投资股票 期货 这两个

​ 稳健型 投资债券

基金提供给投资者了一个外观。

肯德基

有鸡翅 可乐 雪碧 薯条 鸡腿汉堡 牛肉汉堡 等等

套餐A:鸡翅 可乐 牛肉汉堡

套餐B:薯条 牛肉汉堡

套餐就是外观

接口

有5个基础接口:接口1 接口2 接口3 接口4 接口5。

功能A需要 先请求接口1 再请求接口3 最后请求接口4,这样就可以用一个中间接口A里面包含接口1 3 4。

功能B需要 先请求接口2 然后请求接口3 最后请求接口5,这样就可以用一个中间接口B里面包含接口2,3,5。

中间接口A和中间接口B就是外观模式。