软件设计模式第八篇(外观模式)

什么叫外观模式

什么是外观模式外观模式也叫门面模式,它为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

界面:主要指从一个组件外部来看这个组件,能够看到什么,这就是这个组件的界面,即外观(这里不是我们想的那么简单的GUI)。

接口:主要是指外部和内部交互的一个通道,通常是指一些方法,可以是类方法,也可以使interface的方法。

外观模式的场景

比如,我们装修好了一座房子后,需要购买桌椅板凳,家用电器,是不是跑了家具市场,还要跑家电市场,如果有这么一家装修公司,你只需要告诉他你需要什么类型的家具,什么品牌的电器。他就会帮你采购回来,你就不需要关心在哪买的,这样是不是省心很多呢,看下图

软件设计模式第八篇(外观模式)

测试

编写一个测类

测试结果为

软件设计模式第八篇(外观模式)

写在最后

优点
(1)松散耦合(外观模式松散了客户端与子系统的耦合关系,让子系统内部的模块能更容易扩展和维护);

(2)简单易用(外观模式让子系统更加易用,客户端不再需要了解子系统内部的实现,也不需要跟众多子系统内部的模块进行交互,只需要跟外观交互就可以了,相当于外观类为外部客户端使用子系统提供了一站式服务)

(3)更好地划分访问的层次(通过合理使用Facade,可以帮助我们更好地划分访问的层次。有些方法是对系统外的,有些方法是系统内部使用的。把需要暴露给外部的功能集中到外观中,这样既方便客户端使用,也很好地隐藏了内部的细节)

缺点
过多的或者是不太合理的Facade也容易让人迷惑。到底是调用Facade还是直接调用模块,这是一个艰难的选择。

想了解更多的设计模块,请关注我吧。。_

来源:常识的Blog

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年5月25日
下一篇 2020年5月25日

相关推荐