首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JAVA 设计模式 外观模式

用途 外观模式 (Facade) 为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 外观模式是一种结构型模式。...结构 图-外观模式结构图 Facade : 了解每个子系统类的功能,负责分发客户端的请求给各个子系统去处理。...();         facade.op1();     } } 运行结果 Facade Method() 方法3 方法2 方法1 Facade op1() 方法1 要点 1、外观模式为复杂子系统提供了一个简单接口...2、外观模式实现了子系统与客户之间的松耦合关系。 3、外观模式没有封装子系统的类,只是提供了简单的接口。 如果应用需要,它并不限制客户使用子系统类。因此可以再系统易用性与通用性之间选择。...4、外观模式注重的是简化接口,它更多的时候是从架构的层次去看整个系统,而并非单个类的层次。 推荐 本文属于 JAVA设计模式系列 。 参考资料 《大话设计模式》《HeadFirst设计模式》

816100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java设计模式-外观模式

    我又来了,继Java设计模式之桥接模式后,现在来到了外观模式啦,外观模式又称为门面模式啦,下面慢慢来啦。...一张旧图,恍惚间念起旧人 Java设计模式-外观模式 一、前言 1)引入: 2)概述: 3)角色结构: 4)使用场景 二、案例 代码: 三、总结 优点: 缺点: 四、自言自语 一、前言 1)引入: 在以前...当然这只是一个体现的外观模式的小demo,实际中并不全是一样的,设计模式也是根据实际的软件设计需求来进行应用的,多数情况下都是几种设计模式一起用的。...降低了大型软件系统中的编译依赖性,简化了系统在不同平台之间的移植过程,因为编译一个子系统不会影响其他的子系统,也不会影响外观对象。 缺点: 不能很好地限制客户使用子系统类,很容易带来未知风险。...持续更新中

    24520

    Java外观模式(门面模式Facade)

    外观模式   外观模式也叫门面模式,是开发过程中使用频率非常高的一种设计模式,但非常容易理解。 概念介绍   外观模式(Facade),他隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口。...为子系统中的一组接口提供了一个统一的访问接口,这个接口使得子系统更容易被访问或者使用。 ?...; } } 门面类 /** * 办理注册公司流程的门面对象 * @author 波波烤鸭 * @email dengpbs@163.com * */ public class RegisterFacade...Revenue c = new SzRevenue(); c.taxCertificate(); Bank d = new ICBC(); d.openAccount();*/ // 通过门面类...各种技术和框架中,都有外观模式的使用。 JDBC封装后的, commons提供的DBUtils类, Hibernate提供的工具类、 Spring JDBC工具

    1K20

    Java设计模式(九)----外观模式

    外观模式 一、定义 二、结构 三、案例 四、特点 一、定义 Facade(外观)模式为子系统中的各类(或结构与方法...每个子系统都不是一个单独的类,而是一个类的集合(如上面的子系统就是由SystemA、SystemB、SystemC三个类组合而成)。每个子系统都可以被客户端直接调用,或者被门面角色调用。...} } 结果: 客户1需要的两个子系统功能 子系统A的功能 子系统B的功能 客户2需要的三个子系统功能 子系统A的功能 子系统B的功能 子系统C的功能 四、特点 1、外观模式为复杂子系统提供了一个简单接口...2、外观模式实现了子系统与客户之间的松耦合关系。 3、外观模式没有封装子系统的类,只是提供了简单的接口。 如果应用需要,它并不限制客户使用子系统类。因此可以再系统易用性与通用性之间选择。...4、外观模式注重的是简化接口,它更多的时候是从架构的层次去看整个系统,而并非单个类的层次。 以上内容来自平时所看书籍和网络资源整理测试所得,如有不完善之处,欢迎指正!

    59870

    java中的类

    2.类–具有共同性质的一组事物的群体。 人类。 在java中用来描述具有共同性质的一组事物的自定义的复合数据类型—类。...复合数据类型的本质—【根据自己的需求制作自己需要的数据类型的模式/规则/公式】 4.2.如何编写一个Java类?...{ } 4.3.Java类中可以编写什么?...基本属性——变量 基本功能—–方法 变量–是用来在类中描述事物的基本属性 方法–是用来在类中描述事物的基本功能 4.4.Java类中变量的分类及其基本特征?...在同一个类中成员变量与某一个方法中的局部变量的名称相同,这是我们在方法中使用这个成员变量的时候,得到的结果是局部变量的值,此时就是方法中的局部变量将类中成员变量的值隐藏了,这就是成员变量的隐藏。

    1.3K30

    Java设计模式(8)外观模式

    在Java编程中,设计模式很重要。是软件开发中广泛应用的一种编程方法,它可以帮助开发人员更快地编写出高效、可靠和可维护的代码。...本人将制作一个关于Java设计模式的系列文章,总共23种设计模式将以一篇一篇文章讲解,代码笔记已开源:Gitee点击跳转。在上一篇《Java设计模式(7)装饰器模式》文章中,我们介绍了装饰器模式。...本文是这个系列的第八篇章,我们将讲解一下外观模式的实现方式、应用场景以及它的用途。 外观模式 外观模式是一种结构型设计模式,提供一个统一的接口,用于访问子系统中的一组接口。...public void play() { System.out.println("播放视频"); } } 随后再创建一个 MultimediaPlayerFacade 多媒体外观类...Java网络编程中的Socket类和ServerSocket类也是外观模式的应用,也是提供了一个简单的接口,封装了与网络通信相关的底层细节。

    12810

    java设计模式(7)-外观模式

    前言 上篇文章分享代理模式,这篇整理外观模式,外观模式可以降低类与类之间的耦合程度,减少维护工作量 外观模式: 1.外观模式是为了解决类与类之间的依赖关系的,像spring一样,可以将类和类之间的关系配置到配置文件中...,而外观模式就是将他们的关系放在一个外观类中,降低了类与类之间的耦合度,该模式中没有涉及到接口 2.把类归纳在一个整体类里边,一起调用,达到整体实现的效果 实体类: public class CPU {...; } } 归纳类关系: public class Computer { private CPU cpu; private Memory memory;...如果没有Computer类,那么,CPU、Memory、Disk他们之间将会相互持有实例,产生关系,这样会造成严重的依赖,修改一个类,可能会带来其他类的修改,这不是我们想要看到的,有了Computer类...,他们之间的关系被放在了Computer类里,这样就起到了解耦的作用,这,就是外观模式!

    31051

    Java设计模式之外观模式

    外观模式(Facade) 外观模式(Facade)也叫“过程模式”。外观模式为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。...外观模式原理类图: 外观类(Facade):为调用端提供统一的调用接口,外观类知道哪些子系统负责处理请求,从而将调用端的请求代理给适当子系统对象。 调用者(CLient):外观接口的调用者。...不利于在ClientTest中,去维护对子系统的操作。...解决思路:定义一个高层接口,给子系统中的一组接口提供一个一致的界面(比如在高层接口提供三个方法ready,play,end),用来访问子系统中的一群接口。...也就是说,就是通过定义一个一致的接口(界面类),用以屏蔽内部子系统的细节,使得调用端只需跟这个接口发生调用,而无需关心这个子系统的内部细节(外观模式)。

    23110

    Java中Date类与Calendar类

    Java中Date类与Calendar类 Java中有两个与时间相关的常用类:Date类与Calendar类,开始在做题目的时候一无所知,通过查阅网上的资料有了一些基本的了解....(其实也可以查看Java的API,这是十分有效的学习方法,以后要加强这种意识). 例题 java.util 包中由一个类 GregorianCalendar,可以使用它获得某个日期的年、月、日。...显示当前的年月日和按照某一基准计算指定日期都可以直接使用Java已有的Calendar类,具体资料可以参考Java Calendar类,包含了Calendar类的许多属性与方法,主要的有:Calendar...import java.util.Calendar; public class ShowDate { public void printCurrentDate(){...中的有许多重要类、常用类,需要经常查阅熟记用法,并在代码中多多运用,这是学好Java的十分重要的一步.

    63520

    Java设计模式之外观模式

    Java 外观模式(Facade Pattern)教程外观模式是一种常见的设计模式,它属于结构型模式。该模式提供了一个统一的接口,以隐藏系统的复杂性,并将其与客户端分离开来。...在 Java 中,外观模式可以帮助我们简化复杂系统的使用,并提供更简洁的接口供客户端调用。1. 概述在软件工程中,经常会遇到复杂系统,其中包含了多个子系统或模块。...UML 类图Facade(外观): 提供简化的接口给客户端,隐藏系统的复杂性。Subsystem Classes(子系统类): 实际执行系统功能的类。Client(客户端): 通过外观类访问系统功能。...3.1 子系统类首先,我们定义几个子系统类,代表音频处理系统中的不同功能模块。...总结外观模式是一种简单而强大的设计模式,它可以帮助我们简化复杂系统的使用,并提供更清晰的接口给客户端。在 Java 中,外观模式可以应用于各种场景,帮助我们构建更加灵活和易于维护的软件系统。

    25211

    Java描述设计模式(12):外观模式

    1、基本简介 外观模式是对象的结构模式,客户端与一个子系统的通信必须通过一个统一的外观对象进行。...外观模式提供一个高层次的接口,使得子系统更易于使用。 2、模式图解 ? 3、核心角色 外观角色 客户端可以调用这个角色的方法。此角色具有相关的子模块的功能。...每个子模块都不是一个单独的类,而是一个类的集合(如上面的子模块就是由ModuleA、ModuleB、ModuleC三个类组合而成)。每个子系统都可以被客户端直接调用,或者被外观角色调用。...子模块并不知道外观的存在,对于子模块而言,外观角色仅仅是另外一个客户端。 客户端角色 外观对象功能的调用者。...有些方法是对系统外的,有些方法是系统内部使用的,把需要暴露给外部的功能集中到门面中。如果过多的使用外观模式,会让子模块功能的维护变的复杂,一个功能方法改变,会牵扯到多个外观对象的改变。

    56330

    【Java设计模式】015-外观模式

    十一、外观模式 这是非常简单的一个模式,子模块太多了,很麻烦!统一将他们的功能封装到一个类中!...在日常编码工作中,我们都在有意无意的大量使用外观模式。...尤其是现阶段各种第三方SDK、开源类库,很大概率都会使用外观模式。...2、应用场景 对分层结构系统构建时,使用外观模式定义子系统中每层的入口点可以简化子系统之间的依赖关系; 当一个复杂系统的子系统很多时,外观模式可以为系统设计一个简单的接口供外界访问; 当客户端与多个子系统之间存在很大的联系时...,并使得子系统使用起来更加容易; 降低了大型软件系统中的编译依赖性,简化了系统在不同平台之间的移植过程,因为编译一个子系统不会影响其他的子系统,也不会影响外观对象; 缺点 不能很好地限制客户使用子系统类

    6910

    重学 Java 设计模式:实战外观模式

    有些时候外观模式也被用在中间件层,对服务中的通用性复杂逻辑进行中间件层包装,让使用方可以只关心业务开发。...一般情况下对于外观模式的使用通常是用在复杂或多个接口进行包装统一对外提供服务上,此种使用方式也相对简单在我们平常的业务开发中也是最常用的。...└── HelloWorldController.java 以上的实现是模拟一个Api接口类,在里面添加白名单功能,但类似此类的接口会有很多都需要修改,所以这也是不推荐使用此种方式的重要原因...六、外观模式重构代码 接下来使用外观器模式来进行代码优化,也算是一次很小的重构。...这次重构的核心是使用外观模式也可以说门面模式,结合SpringBoot中的自定义starter中间件开发的方式,统一处理所有需要白名单的地方。

    48020

    重学 Java 设计模式:实战外观模式

    重学 Java 设计模式:实战外观模式===================在 Java 开发中,设计模式是一种十分常见的编程思想,它可以帮助我们解决很多实际开发中的问题。...外观模式是一种结构型设计模式,它可以为一组复杂的子系统提供一个简单的接口。通过使用外观模式,我们可以将系统中的复杂逻辑隐藏起来,并对外提供简单的接口。...SpringBoot 开发门面模式中间件在实际的开发中,我们可能会遇到这样的需求:需要对系统中的接口进行控制,只允许某些特定的 IP 地址访问特定的接口,这时候,外观模式就可以帮助我们实现这个功能。...在这个例子中,我们使用了 SpringBoot 开发工具来实现代码的自动配置功能。首先,需要创建一个 GatewayProperties 类来保存配置的白名单列表。...gatewayFilter");        registration.setOrder(Ordered.LOWEST_PRECEDENCE);        return registration;   }}在这个类中

    16320

    图解Java设计模式之外观模式

    2)不利于在ClientTest中,去维护对子系统的操作。...(界面类),用以屏蔽内部子系统的细节,使得调用端只需跟这个接口发生调用,而无需关系这个系统的内部细节 => 外观模式 外观模式基本介绍 1)外观模式(Facade),也叫“过程模式”:外观模式为子系统中的一组接口提供一个一致的界面...,此模式定义类一个高层接口,这个接口使得这一子系统更加容易使用 2)外观模式通过定义一个一致的接口,用以屏蔽内部子系统的细节,使得调用端只需跟这个接口发生调用,而无需关心这个子系统的内部细节 外观模式原理类图...类图说明 : 1)外观类(Facade):为调用端提供统一的调用接口,外观类知道那些子系统负责处理请求,从而将调用端的请求代理给适当子系统对象 2)调用者(Client):外观接口的调用者 3)子系统的集合...,让新系统与Facade类交互,提高复用性 6)不能过多的或者不合理的使用外观模式,使用外观模式好,还是直接调用模块好。

    47020
    领券