外观模式 叁歲伎倆 2021-09-17 01:18 127阅读 0赞 外观模式:为子系统中的一组接口提供一个一直的界面,此模式定义一个高层接口,这个接口使得这个子系统更加容易使用。 什么时候使用:首先,在设计初期阶段,应该有意识的将不同的两个层分离,降低耦合性;其次,子系统往往会变得越来越复杂,增加外观Facede可以提供一个简单的接口,减少他们之间的依赖。第三,维护一个遗留的大型系统是,可能这个系统已经难以维护和扩展了,但是新的开发需求还要依赖于它,此时使用外观模式还是很适合的。 **优点:** 1、减少系统相互依赖。 2、提高灵活性。 3、提高了安全性。 **缺点:**不符合开闭原则,如果要改东西很麻烦,继承重写都不合适。 实例UML图: ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmdfc2h1eXU_size_16_color_FFFFFF_t_70][] 实例代码如下: /** * @author Shuyu.Wang * @package:com.shuyu.facade * @description:子系统接口 * @date 2018-11-18 22:46 **/ public interface SubSystemInterface { void method(); } /** * @author Shuyu.Wang * @package:com.shuyu.facade * @description:子系统实现类1 * @date 2018-11-18 22:47 **/ @Slf4j public class SubSystemOne implements SubSystemInterface { @Override public void method() { log.info("子系统方法1"); } } /** * @author Shuyu.Wang * @package:com.shuyu.facade * @description:子系统实现类2 * @date 2018-11-18 22:48 **/ @Slf4j public class SubSystemTwo implements SubSystemInterface{ @Override public void method() { log.info("子系统方法2"); } } /** * @author Shuyu.Wang * @package:com.shuyu.facade * @description:子系统实现类3 * @date 2018-11-18 22:50 **/ @Slf4j public class SubSystemThree implements SubSystemInterface{ @Override public void method() { log.info("子系统方法3"); } } 外观类: /** * @author Shuyu.Wang * @package:com.shuyu.facade * @description:外观类 * @date 2018-11-18 22:51 **/ public class Facede { private SubSystemInterface subSystemOne; private SubSystemInterface subSystemTwo; private SubSystemInterface subSystemThree; public Facede(){ subSystemOne=new SubSystemOne(); subSystemTwo=new SubSystemTwo(); subSystemThree=new SubSystemThree(); } /** * @author:shuyu.wang * @description:方法1 * @date: 2018/11/18 23:00 * @param: */ public void methodA(){ subSystemOne.method(); subSystemTwo.method(); } /** * @author:shuyu.wang * @description:方法2 * @date: 2018/11/18 23:00 * @param: */ public void methodB(){ subSystemTwo.method(); subSystemThree.method(); } } 测试代码: @RunWith(SpringRunner.class) @SpringBootTest public class FacadeApplicationTests { @Test public void contextLoads() { Facede facede=new Facede(); facede.methodA(); facede.methodB(); } } 运行结果如下: 2018-11-18 23:01:01.424 INFO 31644 --- \[ main\] com.shuyu.facade.SubSystemOne : 子系统方法1 2018-11-18 23:01:01.425 INFO 31644 --- \[ main\] com.shuyu.facade.SubSystemTwo : 子系统方法2 2018-11-18 23:01:01.425 INFO 31644 --- \[ main\] com.shuyu.facade.SubSystemTwo : 子系统方法2 2018-11-18 23:01:01.425 INFO 31644 --- \[ main\] com.shuyu.facade.SubSystemThree : 子系统方法3 代码github地址:[https://github.com/iot-wangshuyu/designpatterns/tree/master/facade][https_github.com_iot-wangshuyu_designpatterns_tree_master_facade] [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmdfc2h1eXU_size_16_color_FFFFFF_t_70]: /images/20210901/7cc8ea63c6fd4debb06c70fb928e3479.png [https_github.com_iot-wangshuyu_designpatterns_tree_master_facade]: https://github.com/iot-wangshuyu/designpatterns/tree/master/facade
相关 外观模式 一、前言 `你感受到的容易,一定有人为你承担不容易` 这句话更像是描述生活的,许许多多的磕磕绊绊总有人为你提供躲雨的屋檐和避风的港湾。其实编程开发的团队中也一样有人只负 Bertha 。/ 2022年10月16日 08:00/ 0 赞/ 3 阅读
相关 外观模式 外观模式:提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。 ![输入图片说明][13102715_KJeI.png] 外观模 曾经终败给现在/ 2022年06月03日 02:42/ 0 赞/ 28 阅读
相关 外观模式 外观模式 外观模式:提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。 要点: 1. 外观模式为复杂子系统提供了一个简单 秒速五厘米/ 2022年05月25日 07:50/ 0 赞/ 241 阅读
相关 外观模式 定义 外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 结构图 ![这里写图片描述][70] 旧城等待,/ 2022年05月14日 11:34/ 0 赞/ 14 阅读
相关 外观模式 外观模式 一、概述 1. 隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统 川长思鸟来/ 2022年04月18日 04:52/ 0 赞/ 63 阅读
相关 外观模式 前言 外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义一个高层的接口,这个接口使得这一子系统更加容易使用。 一、子类 子类系统 分手后的思念是犯贱/ 2021年12月09日 00:45/ 0 赞/ 250 阅读
相关 外观模式 [2019独角兽企业重金招聘Python工程师标准>>> ][2019_Python_] ![hot3.png][] 1.定义 [外观模式][Link 1],外观模式([F 阳光穿透心脏的1/2处/ 2021年09月20日 04:40/ 0 赞/ 269 阅读
相关 外观模式 外观模式:为子系统中的一组接口提供一个一直的界面,此模式定义一个高层接口,这个接口使得这个子系统更加容易使用。 什么时候使用:首先,在设计初期阶段,应该有意识的将不同的两个层 叁歲伎倆/ 2021年09月17日 01:18/ 0 赞/ 128 阅读
相关 外观模式 一 点睛 有些人可能炒过股票,但其实大部分人都不太懂,这种没有足够了解证券知识的情况下做股票是很容易亏钱的,刚开始炒股肯定都会想,如果有个懂行的帮帮手就好,其实基金就是个 绝地灬酷狼/ 2021年07月24日 22:08/ 0 赞/ 377 阅读
相关 外观模式 观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏... 小灰灰/ 2020年06月13日 05:54/ 0 赞/ 685 阅读
还没有评论,来说两句吧...