外观模式

 
外观模式
  • 何时使用隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的高层接口,使得这一子系统更加容易使用为子系统中的一组接口提供一个一致的界面。可以向现有的系统添加一个接口,来隐藏系统的复杂性。1、客户端不需要知道系统内部的复杂联系,整个系统只需提供一个"接待员"即可。 2、定义系统的入口。
  • 如何解决:客户端不与系统耦合,外观类与系统耦合。在客户端和复杂系统之间再加一层,这一次将调用顺序、依赖关系等处理好
  • 优点: 1、减少系统相互依赖。 2、提高灵活性。 3、提高了安全性。
  • 缺点:不符合开闭原则,如果要改东西很麻烦,继承重写都不合适。
  • 使用场景: 1、为复杂的模块或子系统提供外界访问的模块。 2、子系统相对独立。 3、预防低水平人员带来的风险。4、JAVA 的三层开发模式  5、在层次化结构中,可以使用外观模式定义系统中每一层的入口。
 
不适用外观模式
使用外观模式
 
例子
 
Android中的外观模式
Android开发过程中,Context是最重要的一个类型。它封装了很多重要的操作,比如startActivity()、sendBroadcast()等,几乎是开发者对应用操作的统一入口。Context是一个抽象类,它只是定义了抽象接口,真正的实现在ContextImpl类中。    





原文地址:https://www.cnblogs.com/Doing-what-I-love/p/5621178.html