`
javabkb
  • 浏览: 53739 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

设计模式之结构模式之门面模式

 
阅读更多
1,UML图

   

  门面(Facade)角色:客户端可以调用这个角色的方法。此角色知晓相关的(一个或者多个)子系统的功能和责任。在正常情况下,本角色会将所有从客户端发来的请求委派到相应的子系统去。
  子系统(Subsystem)角色:可以同时有一个或者多个子系统。每一个子系统都不是一个单独的类,而是一个类的集合。每一个子系统都可以被客户端直接调用,或者被门面角色调用。子系统并不知道门面的存在,对于子系统而言,门面仅仅是另外一个客户端而已。

2, 模式说明
  
    门面模式要求一个子系统的外部与其内部的通信必须通过一个统一的门面对象进行。
门面模式提供一个高层次的接口,使得子系统更易于使用。
    迪米特法则说:”只与你直接的朋友通信“。迪米特法要求每一个对象与其他对象的相互
作用均是短程的,而不是长程的。只要可能,朋友的数目越少越好。换言之,一个对象只
应当知道它的直接合作者的接口。门面模式创建出一个门面对象,将客户端所涉及的属于一
个子系统的协作伙伴的数目减到最少,使得客户端与子系统内部的对象的相互作用被门面
对象所取代。显然,门面模式就是实现代码重构以便达到迪米特法则要求的一个强有力的武
器。   

3,什么情况下使用

    (1)为一个复杂子系统提供一个简单接口;
    (2)子系统的独立性;
    (3)层次化结构;




   
  
     
  • 大小: 32.9 KB
分享到:
评论

相关推荐

    JAVA设计模式(门面模式)—视频

    门面模式的结构 涉及两个角色: 门面角色:客户端可以调用这个角色的方法。此角色知道子系统的功能和责任。在正常情况下,本角色会将所有从客户端发来的请求委派到相应的子系统中去。 子系统角色:可以同时有一个...

    设计模式三层结构C#源码

    设计模式三层结构C#源码,工厂模式,策略模式,门面模式

    C#设计模式.PDF

    五、 透明式的合成模式结构 93 六、 透明式的合成模式实现 94 七、 使用合成模式时考虑的几个问题 97 八、 和尚的故事 98 九、 一个实际应用Composite模式的例子 98 C#设计模式(12)-Decorator Pattern 101 一、 ...

    facade门面模式

    java设计模式门面模式java设计模式门面模式

    java设计模式

    目录: 前 言 第一部分 大旗不挥,谁敢冲锋——热身篇 第1章 单一职责原则 1.1 我是“牛”类,我可以担任多职吗 1.2 绝杀技,打破你的传统思维 1.3 我单纯,所以我快乐 1.4 最佳实践 ...附录:23个设计模式

    C#设计模式大全

    五、 透明式的合成模式结构 六、 透明式的合成模式实现 七、 使用合成模式时考虑的几个问题 八、 和尚的故事 九、 一个实际应用Composite模式的例子 C#设计模式(12)-Decorator Pattern 一、 装饰...

    网络编程、常用设计模式

    二、门面模式的结构 24 三、在什么情况下使用门面模式 24 【五】、适配器模式 25 一、适配器模式(Adapter Pattern) 25 二、类的Adapter模式的结构 25 三、对象的Adapter模式的结构 26 四、在什么情况下使用适配器...

    c++设计模式-结构型模式-外观模式

    c++设计模式-结构型模式-外观模式;qt工程;c++简单源码; 外观(Facade)模式又叫作门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,...

    C#23种设计模式_示例源代码及PDF

    门面模式: 门面模式提供一个 门面模式 外部与一个子系统的通信必须通过一个统一的门面对象进行。 高层次的接口,使得子系统更易于使用。每一个子系统只有一个门面类,而且此门面类只有 一个实例,也就是说它是一个...

    设计模式之Facade

    eclipse工程文件 包含代码 有助理解 门面(Facade)模式 <br>... 二、 门面模式的结构 <br> 门面模式是对象的结构模式。门面模式没有一个一般化的类图描述,下图演示了一个门面模式的示意性对象图:

    精品源码 C# 27种设计模式源代码

    2 门面模式 2 模板方法模式 3 策略模式 3 工厂方法模式 3 组合模式 4 抽象工厂模式 4 代理模式 4 命令模式 5 迭代器模式 5 适配器模式 5 原型模式 6 简单工厂模式 6 解释器模式 6 享元模式 7 桥接模式 7 状态模式 8 ...

    软件开发中的23种设计模式

    23种模式(Pattern) 1、创建形模式: 1)、单用型:Singleton 2)、工厂方法型:Factory Method...3)、门面模式:Facade 4)、装饰模式:Decorator 3、行为型模式 1)、策略模式:Strategy 2)、观察者模式:Observer

    java和设计模式ppt教程

    java和设计模式ppt包含工厂模式、建造模式、原始模型模式、单例模式、结构模式、适配器、桥梁模式、合成模式、装饰模式、门面模式、享元模式、代理模式、行为模式、解释器模式、迭代子模式、调停者模式、备忘录模式...

    C++设计模式原理与实战视频课

    C++设计模式原理与实战视频课 1-1 课程介绍 1-2 导论UML和设计模式导论 2-1 简单工厂方法的定义场景与实现-针对接口编程的设计思想剖析 2-2 简单工厂实用工程技术:C++对象动态创建技术与配置化开发 2-3 单例模式的...

    学习php设计模式 php实现门面模式(Facade)

    二、门面模式结构图 三、门面模式中主要角色 门面(Facade)角色: 此角色将被客户端调用 知道哪些子系统负责处理请求 将用户的请求指派给适当的子系统 子系统(subsystem)角色: 实现子系统的功能 处理由Facade对象...

    Delphi模式编程第一分卷

    13.3.1 门面模式和分布式系统的设计优化 13.3.2 用门面模式设计的COM+银行转账系统 13.3.3 COM+银行转账系统实现代码剖析 13.3.4 范例小结 第14章 享元模式(Flyweight) 14.1 模式解说 14.2 结构和用法 ...

    二十三种设计模式【PDF版】

    设计模式之 Facade(门面?) 可扩展的使用 JDBC针对不同的数据库编程,Facade提供了一种灵活的实现. 设计模式之 Composite(组合) 就是将类用树形结构组合成一个单位.你向别人介绍你是某单位,你是单位中的一个元素...

    Delphi模式编程第二分卷

    13.3.1 门面模式和分布式系统的设计优化 13.3.2 用门面模式设计的COM+银行转账系统 13.3.3 COM+银行转账系统实现代码剖析 13.3.4 范例小结 第14章 享元模式(Flyweight) 14.1 模式解说 14.2 结构和用法...

    基于C#语言的设计模式源码

    门面模式 模板方法模式 策略模式 工厂方法模式 组合模式 抽象工厂模式 代理模式 命令模式 迭代器模式 适配器模式 原型模式 简单工厂模式 解释器模式 享元模式 桥接模式 状态模式 结构型模式 责任...

Global site tag (gtag.js) - Google Analytics