结构模式--之--门面模式

门面模式是对象的结构模式,外部与一个子系统的通讯必须经过一个统一的门面(Facade)对象进行,这就是门面模式。
 
角色:
1.门面角色:客户端能够调用这个角色的方法。此角色知晓相关的一个或多个子系统的功能和责任。在正常状况下,本角色会将全部从客户端的请求委派到子系统去
2.子系统角色:能够同时有一个或多个子系统。每个子系统都不是一个单独的类,而是一个类的集合。每个子系统均可以被客户端直接调用,或者被门面角色调用。子系统并不知道门面的存在,对于子系统而言,门面仅仅是另一个客户端而已。
相似于医院中设计一个接待员的话(超级无敌全知道)
什么状况下使用门面模式?
1.为一个复杂子系统提供一个简单接口
子系统每每由于不断演化而变得愈来愈复杂,使用门面模式 可使得子系统更具可复用性。Facade模式能够提供一个简单的默认视图,对大多数用户来讲,这个视图已经足够用了,而那些须要进一步继承的用户能够越过Facade层直接对子系统进行继承。
2.子系统的独立性
通常而言,子系统和其余的子系统之间,客户端与实现化层之间存在着很大的依赖性。引入Facade模式将一个子系统与它的客户端以及其余的子系统分离,能够提升子系统的独立性和可移植性。
3.层次化结构
在构建一个层次化的系统时,可使用Facade模式定义系统中每一层的入口。若是层与层之间是相互依赖的,则能够限定它们仅经过Facade进行通讯,从而简化了层与层之间的依赖有关系
相关文章
相关标签/搜索