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

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

 
阅读更多
1,UML图

   

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

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

3,什么情况下使用

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




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

相关推荐

    设计模式之门面模式

    门面模式(Facade Pattern)是软件工程中一种常用的设计模式,属于结构型模式。它提供了一个统一的接口,用来访问子系统中的一群接口。门面模式使得子系统的使用更为简单,同时也隐藏了子系统的复杂性,使得客户端...

    23种设计模式--门面模式

    在提供的资源“第17课_设计模式之门面模式.avi”中,可能包含了对门面模式的详细讲解和实例演示,可以帮助你更深入地理解和掌握这一设计模式。通过观看视频,你将有机会看到如何在实际代码中应用门面模式,以及如何...

    设计模式之门面模式Java实现和类设计图

    门面模式(Facade Pattern)是软件工程中一种常用的设计模式,属于结构型模式,它提供了一个统一的接口,用于访问子系统中的一组接口。在面向对象设计中,门面模式为子系统提供了更简单的接口,使得客户端可以更容易...

    设计模式 之 “门面模式[Facade Pattern]”

    门面模式(Facade Pattern)是软件工程中一种常用的结构型设计模式,它的主要目的是提供一个统一的接口,用来简化系统中一组复杂的接口或类的使用。这个模式将复杂的子系统接口封装在一个简单的门面对象中,使得...

    设计模式之门面模式(附demo)

    门面模式(Facade Pattern)是软件工程中一种结构型设计模式,它提供了一个统一的接口,用来访问子系统中的一组接口。这个统一的接口使得客户端不必了解子系统内部的复杂性,只需要与门面进行交互即可。门面模式简化...

    设计模式C++学习之门面模式(Facade)

    门面模式(Facade)是设计模式中的一种结构型模式,它的主要目的是为了解决复杂的系统接口问题,提供一个简单的统一接口,使得客户端可以更方便地使用系统。在C++编程中,门面模式的应用尤为常见,它能有效地降低...

    23种设计模式结构图

    设计模式结构图 在软件开发中,设计模式是一种重要的概念,它帮助开发者更好地设计和实现软件系统。设计模式提供了一种通用的解决方案,可以重复使用,以减少软件开发中的成本和时间。 从给定的文件信息中,我们...

    设计模式之门面模式.docx

    门面模式,作为设计模式的一种,旨在为复杂的子系统提供一个简洁统一的接口,从而简化客户端与子系统之间的交互。这种模式由三个主要角色构成:门面角色、子系统角色和客户角色。门面角色是核心,它理解子系统的功能...

    Java设计模式之禅

    《Java设计模式之禅》是一本深入浅出讲解设计模式的书籍,书中不仅包含23种经典设计模式的案例,还详细介绍了设计模式背后的思想和原则,适合初学者以及对设计模式有一定了解的程序员阅读。本书旨在帮助读者理解如何...

    C++设计模式课件14_Facade_门面模式.pdf

    门面模式是一种结构型设计模式,它提供了一个统一的接口来访问一系列子系统的接口。这种模式的主要目的是为了简化客户端与复杂子系统之间的交互。通过创建一个高层接口,门面模式隐藏了子系统的复杂性,并允许客户端...

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

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

    门面模式门面模式

    门面模式(Facade Pattern)是一种结构型设计模式,它的主要目的是提供一个统一的接口,用来访问子系统中的一组接口。这个接口使得子系统更容易使用,同时也减少了客户端代码与子系统之间的耦合。门面模式通常用于...

    结构型模式之门面模式(Facade)

    门面模式(Facade)是软件设计模式中的一种结构型模式,它的主要目的是为了解耦复杂的系统,通过提供一个简单的统一接口来屏蔽子系统的复杂性,使得客户端与子系统的交互变得更加简单和直观。在大型软件系统中,往往...

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

    本资源“设计模式三层结构C#源码”包含了三种经典的设计模式:工厂模式、策略模式和门面模式,以及它们在C#语言中的实现。下面将分别详细介绍这三种设计模式,并结合三层结构的概念进行讨论。 首先,工厂模式是一种...

    软件设计模式大作业

    本资源为一份完整的软件设计模式大作业,涵盖了六种设计模式的应用,分别是简单工厂模式、工厂方法模式、单例模式、门面模式、策略模式和观察者模式。该大作业的主要内容包括系统流程、系统类图、各个模式的子类图、...

    门面模式(PPT)

    门面模式(Facade Pattern)是一种设计模式,它在软件工程中扮演着简化复杂系统接口的角色。门面模式的核心思想是为一个复杂的...在实际的软件开发中,尤其是在需要构建大型复杂系统时,门面模式是常用的设计手段之一。

    您的设计模式.pdf。

    门面模式是一种结构型设计模式,它提供了一种简化了的接口,以便客户端可以更方便地访问系统。门面模式可以帮助开发者简化系统的接口,以提高系统的可维护性。例如,在一个银行系统中,可以使用门面模式来实现一个...

Global site tag (gtag.js) - Google Analytics