门面模式-23种设计模式

类型:【结构类】

类图:

门面模式-23种设计模式

描述:

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

优点:

  • 减少系统的相互依赖。外界访问直接深入到子系统内部,相互之间是一种强耦合关系,你挂我就挂,这种强依赖是系统设计所不能接受的,门面模式就很好地解决了这个问题,所有的依赖都是门面对象的依赖,与子系统无关。
  • 提高了灵活性。依赖减少了,灵活性自然就提高了。不管子系统内部如何变化,只要不影响到门面对象,任你*活动。
  • 提高安全性。想让你访问子系统的那些业务就开通那些逻辑,不在门面上开通的方法,你休想访问的到。

缺点:

       门面模式最大的缺点就是不符合开闭原则,对修改关闭,对拓展开放,我们的门面对象是重中之重,那么一旦发生错误可能就得修改代码,不符合开闭原则,设计时慎重考虑。

使用场景:

  • 为一个复杂的模块或子系统提供一个供外界访问的接口
  • 子系统相对独立-外界对子系统的访问只要黑箱操作即可。
  • 预防低水平人员带来的风险扩散。

注意事项:

  • 一个子系统可以有多个门面。情形:1、门面已经庞大到不能忍受的程度。2、子系统可以提供不同的访问路径,模块限制。
  • 门面不参与子系统内的业务逻辑