设计模式-外观模式

设计模式-外观模式_第1张图片

    

设计模式-外观模式

外观模式是为子系统提供一个接口,便于它的使用。

外观模式是什么?


举个生活的例子来说一下,外观模式好比汽车销售店的销售员,只需要和销售员说自己对车的需求是什么。

我们不必管汽车是如何生产的。销售人员就是外观角色,生产汽车的每个步骤是子系统角色。

设计模式-外观模式_第2张图片


源码在此

 

外观者角色:销售人员


设计模式-外观模式_第3张图片


 

子系统角色:冲压工艺

设计模式-外观模式_第4张图片

 

子系统角色:焊接工艺

设计模式-外观模式_第5张图片

 

子系统角色:涂装工艺

设计模式-外观模式_第6张图片

 

子系统角色:总装工艺

设计模式-外观模式_第7张图片

 

子系统角色:检测工艺

设计模式-外观模式_第8张图片

 

客户端角色

设计模式-外观模式_第9张图片


小农解释

          

Facade类相当于其他模块的外观界面,有了这个Facade类,那么客户端就不需要亲自调用子系统中的其他模块了,也不需要知道系统内部的实现细节,甚至都不需要知道其他模块的存在,客户端只需要跟Facade类交互就好了,从而更好地实现了客户端和子系统中其他模块的解耦,让客户端更容易地使用系统。


  外观模式的优点

1

松散耦合


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

2

简单易用


外观模式让子系统更加易用,客户端不再需要了解子系统内部的实现,也不需要跟众多子系统内部的模块进行交互,只需要跟外观类进行交互即可。

3

结构清晰


通过合理封装外观类,可以帮助系统分好层次。这样每一个子类都有一个明确的目的,可以使代码更容易维护,隐藏内部细节。      


所谓“实践出真知”,只有理论结合实践,才能在面临挑战时,细心十足地运用设计模式。


—— 小农


设计模式-外观模式_第10张图片



你可能感兴趣的:(设计模式-外观模式)