设计模式-外观模式

 

外观模式是什么?

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

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

类图:

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

 

外观者角色:销售人员

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

 

 

子系统角色:冲压工艺

 

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

子系统角色:焊接工艺

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

 

子系统角色:涂装工艺

 

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

子系统角色:总装工艺

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

 

子系统角色:检测工艺

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

 

客户端角色

 

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

小农总结

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

 

 

外观模式的优点

1.松散耦合

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

2.简单易用

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

3.结构清晰

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

 

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


—— 小农

欢迎大家加入  “码农新锐”公众号,更多技术资料等着您。

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

 

 

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