【设计模式】——外观模式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Sophia_0331/article/details/81841924

前言

最近在机房重构,因为需要在机房重构中添加设计模式,而且最近设计模式的学习也是非常的火热,所以把大话设计模式这本书又重新打开学习,在进行了一段时间重构之后再来看设计模式,理解的更深刻了,而不是像当初第一遍看的时候只是知道一些概念性的东西,但是具体怎么应用却无从下手,理论结合实践才是硬道理!

内容

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

外观模式遵循依赖倒转原则和迪米特法则。

依赖倒转原则:

1、高层模块不应该依赖低层模块,俩个都应该依赖抽象。

2、抽象不应该依赖细节,细节应该依赖抽象。

迪米特法则:如果俩个类不必彼此直接通信,那么这俩个类就不应当发送直接的相互作用,如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者来转发这个调用。

个人理解:

在机房重构中,Facade层其实就相当于一个桥梁将UI层与业务逻辑层间接联系起来,U层需要使用BLL层的方法时借助Facade来实现,从而实现了U层与B层之间的依赖关系,达到降低耦合的目的。

外观模式结构图:

外观模式个人理解:

外观类相当于一个接口,当客户端需要用一个类中的方法时,不直接调用这个类中的方法,而是定义一个接口,在接口中需要包含客户端需要调用的方法,这样客户端来调用接口中的方法就可以间接使用类中的方法,此时客户端也不需要知道类中方法是如何具体实现的,从而达到了解耦的效果。

何时使用外观模式呢?

1、三层架构中为了降低层与层之间的耦合可以提供一个接口,使用外观模式来降低耦合。

2、系统因为重构越来越复杂,可以增加一个外观Facade提供接口来减少依赖。

3、在旧系统的基础上开发一个新系统时,如果旧系统中原有的代码设计粗糙代码复杂,就可以在新系统中增加一个外观来提供接口,让新系统和Facade对象交互,从而利用旧系统中的代码。

猜你喜欢

转载自blog.csdn.net/Sophia_0331/article/details/81841924