Skip to content

Latest commit

 

History

History
27 lines (13 loc) · 1.16 KB

facade.md

File metadata and controls

27 lines (13 loc) · 1.16 KB

外观模式

  • 要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。外观模式提供一个高层次的接口,使得子系统更易于使用。

  • 介绍 外观模式属于结构型模式。 外观模式也叫门面模式。 通常我们对API进行封装,都会用到外观模式,只是我们可能不知道而已。外观模式通过一个外观类使得整个系统的结构只有一个统一的高层接口,这样能降低用户的使用成本。

一搬 我们封装SDK的时候,通常对外提供统一的Mananger 去调用,提供统一入口, 比如EventBus,Glide等等

降低了客户端与子系统类的耦合度,实现了子系统与客户之间的松耦合关系。 外观类对子系统的接口封装,使得系统更易于使用。 提高灵活性,不管子系统如何变化,只要不影响门面对象,就可以自由修改。

  1. 缺点

增加新的子系统可能需要修改外观类的源代码,违背了“开闭原则”。一搬我们SDK可以进行jar替换更新,对于一个系统

所有子系统的功能都通过一个接口来提供,这个接口可能会变得很复杂。