结构型模式-外观模式

2018-05-15  本文已影响0人  查无此人_chazz

标签(空格分隔):外观模式 中介者模式 迪米特原则


外观模式:为子系统中的一组接口提供一个一致的开放方法,此模式定义了一个高层接口,这一接口使得这一子系统更加容易使用。

外观模式隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口,外观模式将客户端需要访问的接口暴露出来。依据迪米特原则提供一个第三方类(外观类),将客户端与复杂系统之间解耦合,将依赖关系转移到外观类上。

外观模式主要解决:降低客户端和复杂系统之间的耦合程度,简化客户端访问的接口

优点:1、减少系统相互依赖,后端复杂逻辑的变动不会影响到客户端。 2、提高系统灵活性,减少后端逻辑的变化对客户端的影响。 3、提高了安全性,客户端无须关心后端的复杂操作,只需要的到自己想要的结果即可。

java web中三层结构中的请求层(controller层)就是一个典型的外观类,客户端不需要知道业务处理层(service层)中的业务有多复杂,只需要知道请求层能返回自己想要的结果即可。

外观模式可以看作一种特殊的中介者模式,与中介者模式的区别在于:

  • 中介者模式不对外开放,外观模式接口对外开发
  • 中介者模式更注重与处理对象与对象之间的业务流程,外观模式更注重与处理必要的业务流程并提供对外的接口
  • 中介者模式主要依据迪米特原则解决同级对象之间的耦合问题,外观模式则依据迪米特原则解决客户端和复杂业务逻辑组件的耦合问题
上一篇 下一篇

猜你喜欢

热点阅读