外观模式 -- Facade

2017-03-30 23:39:05   最后更新: 2017-03-30 23:39:05   访问数量:233




外观模式为子系统中的一组接口提供一个一致的界面,他定义了一个高层的接口,从而隐藏了子系统的复杂性

在实际的工程中,使用 Facade 模式是一个非常好的选择,因为系统会经常与各种外部系统交互,而这些外部系统各自都拥有不同的交互方式、协议和实现,如果我们用来交互的每个模块都兼容所有的协议,那么我们的模块将会异常复杂,由 facade 对这些子系统进行统一的封装,实现单一而简单的界面,将会让我们的系统更加内聚和便于扩展

 

 

facade 是设计思想最简单的设计模式之一,非常适用于为复杂子系统提供一个简单接口,随着时间的推移,复杂的子系统将会越来越庞大并且越来越复杂,甚至诞生出越来越多的子系统,但这对于外层用户来说,是非常难以理解和掌握的,这时为整套系统提供一个简单的缺省视图看起来就是非常有必要的了,绝大多数用户完全无需透过 facade 层,facade 为用户提供了足够的操作与特征

同时,facade 层将抽象类与实现分离,做到了非常大的抽象化,子系统更加灵活、独立,并且具有高度的可移植性

如果系统具有多层,那么每一层都只暴露标准的 facade,facade 之间进行通讯,他们之间的耦合将会非常轻,且重用性非常高

 

正如上面提到的,Facade 模式的构成非常简单,就是由负责处理请求,转发到对应子系统的 Facade 与各个子系统构成

Facade 层不需要直接访问子系统的对象,他只进行请求的转发工作

 






技术帖      龙潭书斋      设计模式      模式      设计      design pattern      facade      外观      封装      子系统      design     


京ICP备15018585号