设计模式学习总结(六)--外观模式

定义

外观模式(Facade)隐藏了系统的复杂性,只向客户端提供了一个可以访问系统的接口。这种类型的设计模式属于结构性模式。为子系统中的一组接口提供了一个统一的访问接口,这个接口使得子系统更容易被访问或者使用。

简单来说,外观模式就是把一些复杂的流程封装成一个接口供给外部用户更简单的使用。这个模式中,设计到3个角色。

  • 客户角色:通过调用门面角色来完成要实现的功能。
  • 门面角色:外观模式的核心。它被客户角色调用,它熟悉子系统的功能。内部根据客户角色的需求预定了几种功能的组合。
  • 子系统角色:实现了子系统的功能。它对客户角色和门面角色是未知的。它内部可以有系统内的相互交互,也可以由供外界调用的接口。

最核心的目的:简化子系统,简化客户使用,屏蔽多个子系统

优缺点

优点:

  • 松耦合,用户与子系统解耦,屏蔽子系统;可以提高子系统的独立性;
  • 用户只与门面对接,有统一的入口;不需要知道所有子系统及内部构造;

缺点:

  • 不规范的编程方式
  • 没有面向抽象编程,而是通过增加中介层,转换服务提供方的服务接口;
原文地址:https://www.cnblogs.com/markLogZhu/p/11460434.html