14.3.3结构型GOF设计模式实用实例
结构型模式通过类和对象的组合以获得更大的结构,采用继承机制来组合接口或实现。
1、Facade 设计模式
(1)意图
外观(Facade)设计模式属于对象结构型设计模式,Facade设计模式定义了一个高层接口,使得子系统更加容易使用,利用Facade设计模式可以为子系统中的一组接口提供一个一致的界面,可以降低系统中各部分之间的相互依赖关系,同时增加系统的灵活性。
(2)结构
图14.8给出了Facade设计模式的一般结构
(3) Facade设计模式的特点
①对于Client来说屏蔽了子系统中的类,因此减少了Client需要有接处理的对象,使得子系统更容易被使用。
②降低了Client和子系统之间的耦合度
③有助于对象间依赖关系的分层,建立具有层次结构的系统
④子系统中的类不需要了解关于Client的知识,也不需要了解关于Facade类的知识,即没有指向Client和Facade的引用
⑤如果需要 Client也可以直接存取子系统中的类
(4)适用性
①为复杂系统提供一个简单的接口
②构建层次结构系统时,适用Facade模式定义每层的人口点
③采用Facade模式可以将子系统与客户程序分离,提高