外观模式是为子系统提供一个接口,便于它的使用。
外观模式是什么?
举个生活的例子来说一下,外观模式好比汽车销售店的销售员,只需要和销售员说自己对车的需求是什么。
我们不必管汽车是如何生产的。销售人员就是外观角色,生产汽车的每个步骤是子系统角色。
-
子系统角色:冲压工艺
-
子系统角色:焊接工艺
-
子系统角色:涂装工艺
-
子系统角色:总装工艺
-
子系统角色:检测工艺
-
客户端角色
Facade类相当于其他模块的外观界面,有了这个Facade类,那么客户端就不需要亲自调用子系统中的其他模块了,也不需要知道系统内部的实现细节,甚至都不需要知道其他模块的存在,客户端只需要跟Facade类交互就好了,从而更好地实现了客户端和子系统中其他模块的解耦,让客户端更容易地使用系统。
外观模式的优点
-
松散耦合
外观模式松散了客户端与子系统的耦合关系,让子系统内部的模块能更容易扩展和维护。 -
简单易用
外观模式让子系统更加易用,客户端不再需要了解子系统内部的实现,也不需要跟众多子系统内部的模块进行交互,只需要跟外观类进行交互即可。 -
结构清晰
通过合理封装外观类,可以帮助系统分好层次。这样每一个子类都有一个明确的目的,可以使代码更容易维护,隐藏内部细节。
所谓“实践出真知”,只有理论结合实践,才能在面临挑战时,细心十足地运用设计模式。—— 小农
网友评论