软件体系结构–外观模式

文章目录

  • 概念
  • 例子
  • 总结
    • 优点
    • 缺点

概念

外观模式提供了一个接口,用来访问子系统中定义的一堆接口。换句话说,外观模式提供了一个高层接口,使得可以更简便的使用子系统。

现在很多汽车上都有“一键启动”的功能。这个“一键启动”的按钮,就可以理解为外观模式提供的高层接口。汽车中包含了各种各样的子系统,子系统之间也许还有各种各样的关系。

在外观模式中主要包含三个角色:

  • 子系统:已有模块或子系统,提供了一系列复杂的接口或功能
  • 外观:它了解子系统,并对外暴露一个简单的接口
  • 客户:调用外观提供的接口来实现功能,无需了解复杂的子系统

例子

除了上述的汽车的例子,还有一个很合适的例子就是电脑的开机过程。

电脑中包含了CPU、内存、硬盘、显卡、 卡等等硬件,而我们只需要按下电源键就可以使这些硬件启动。很显然,电源键就是外观模式所提供的高层接口。

image

各种硬件类:

如果没有开机键的话,我们需要这么做:

如果有了开机键,这些都可以交给开机键去做:

开机键:

现在只需要调用开机键的方法即可:

总结

外观模式很好的体现了迪米特法则,即每一个类应该尽量少的知道别的类。拿上面的例子来说,原本我们需要知道CPU、内存等子系统,用了外观模式之后,我们仅需要知道外观模式所提供的接口即可。

优点

将复杂的接口简单化,减少了客户端与接口之间的耦合,提高了安全性。

缺点

可能产生大量的中间类(外观类),一定程度上增加了系统的复杂度。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年4月9日
下一篇 2019年4月9日

相关推荐