用途


外观模式 (Facade)
为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
外观模式是一种结构型模式
结构

aaarticlea/png;base64,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ePDg1157jf0R91Y7f/782LFjn3322aioKIOzONB64QS2npurk5aW1qtXL+79bPBYlJeXOzo6du/efc2aNS3N4mDnaL322muDBw8ODQ017UYxFtl6/vwZJycn/rOWLFnSr18/Jycn/vy0ls4vpvkI2tnZ2dnZsY8x+aw2tF4y4rS+qampukRqFocAAA1OSURBVLq6oaGBewezS95++20rKytra+suXbrwnxUdHW1tbd21a9cOHTocPXq0rq6OXU9JScngwYOtra07deq0aNEinTngaL1wBlvPzv3g9mFNTc2iRYs6derEHQv++7mlY/HPf/7T2tqancVRXV3Nn8XR0NCQn5/PztGKjo427RZx20Vx6+vq6mpqavjFqaurO3r0aIcOHbp27coeC51neXh4sOdX37598/PzGxoamJbPLz5cw9GH1j/BYOvLyspeffVV/jwcdkmXLl38/Pxu376dmJjIf1ZlZeXt27cvXLjQu3fvAQMGxMXFsetpaGgoKChoaRYHWi+cwdazcz+4fcifq8MeC/77uaVjce/evZZmcfDnaJn2ygB/uyhufVxcnM48nLi4uAEDBvTu3fvChQvssdB5VmlpKXt+dezYcdCgQewvYFs6v/jQen1o/RMEzsMxcv1369atW7duZfT27C+//PLRRx+xcwlamqWA1gskZB4O/zFCjsXDhw8/+ugjdl6H/rFITk5+8803e/bsmZCQUFpaatrN4W8Xxa3Xn4ejs591nrV27drk5GRGwPmVnJzMnzfFoPWGoPVPKCgo4OZsrG62Zs2a0NDQgoIC7r1YXV2tVqttbW0nT568evXq2bNnc+/F9PR0Pz+/1atXq1QqdqZHdnY2u+bQ0NA1a9asXr2anV2QmJjIvmhUVNTq1asnT56sUCi6du2qUqlWr15tcHZBm1HW+sTERHbOxmoePz+/Dz/8kDvD+Y9hjwX3fjZ4LNhj6unpyR4LW1tbtVpdXV3NMMx3332nc3RYUVFRpt0ualqfnp7+4YcfDho0iH+AvL29ExMT+cXJzs5esmQJt1fHjh3Lb31iYqK3tzd7fllbW/v4+BQUFBg8v7KzswMDA/mvpXMETQWtlwyJc6OysnL58uULeJYvX87+P/vu3bsXLFgQEhLCPjIkJGTBk9hf6B0/flxnif6a2fkhLa1nwYIFx48fN+FGUdZ6pvlY6Owxds/r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" alt="" />

图-外观模式结构图

Facade : 了解每个子系统类的功能,负责分发客户端的请求给各个子系统去处理。

class Class1 {

    public void op1() {

        System.out.println("方法1");

    }

}

class Class2 {

    public void op2() {

        System.out.println("方法2");

    }

}

class Class3 {

    public void op3() {

        System.out.println("方法3");

    }

}

Subsystem Classes : 实现子系统功能。在不感知 Facade 的情况下,处理 Facade 对象分配的工作,

class Facade {

    private Class1 one = new Class1();

    private Class2 two = new Class2();

    private Class3 three = new Class3();

    

    public void op1() {

        System.out.println("Facade op1()");

        one.op1();

    }

    

    public void op2() {

        System.out.println("Facade op2()");

        two.op2();

    }

    

    public void op3() {

        System.out.println("Facade op3()");

        three.op3();

    }

    

    public void Method() {

        System.out.println("Facade Method()");

        three.op3();

        two.op2();

        one.op1();

    }

}

测试代码

public class FacadePattern {

    public static void main(String[] args) {

        Facade facade = new Facade();

        facade.Method();

        

        facade.op1();

    }

}

运行结果

Facade Method()

方法3

方法2

方法1

Facade op1()

方法1
要点

1、外观模式为复杂子系统提供了一个简单接口,并不为子系统添加新的功能和行为。

2、外观模式实现了子系统与客户之间的松耦合关系。

3、外观模式没有封装子系统的类,只是提供了简单的接口。 如果应用需要,它并不限制客户使用子系统类。因此可以再系统易用性与通用性之间选择。

4、外观模式注重的是简化接口,它更多的时候是从架构的层次去看整个系统,而并非单个类的层次。

推荐

本文属于 JAVA设计模式系列

参考资料

《大话设计模式》

《HeadFirst设计模式》

JAVA 设计模式 外观模式的更多相关文章

  1. Java设计模式——外观模式

    JAVA 设计模式 外观模式 用途 外观模式 (Facade) 为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用. 外观模式是一种结构型模式. 结构

  2. 【设计模式】Java设计模式 - 外观模式

    Java设计模式 - 外观模式 不断学习才是王道 继续踏上学习之路,学之分享笔记 总有一天我也能像各位大佬一样 原创作品,更多关注我CSDN: 一个有梦有戏的人 准备将博客园.CSDN一起记录分享自己 ...

  3. java设计模式——外观模式(门面模式)

    一. 定义与类型 定义:门面模式,提供一个统一的接口,用来访问子系统中的一群接口,门面模式定义了一个高层接口,让子系统更容易使用 类型:结构性 二. 使用场景 子系统越来越复杂,增加外观模式提供简单调 ...

  4. Java设计模式---外观模式

    外观模式(Facade) 外观模式的意图是:为子系统提供一个接口,便于它的使用.   解释: 简单的说,外观模式就是封装多个上层应用需要的方法,使得上层调用变得简单,为上层提供简单的接口,是设计模式中 ...

  5. Java设计模式-外观模式(Facade)

    外观模式是为了解决类与类之家的依赖关系的,像spring一样,可以将类和类之间的关系配置到配置文件中,而外观模式就是将他们的关系放在一个Facade类中,降低了类类之间的耦合度,该模式中没有涉及到接口 ...

  6. 菜鸟版JAVA设计模式—外观模式

    外观模式是一种比較easy理解的模式,作用非常easy.就是解耦合. 结构也是非常easy,一个外观类.这个外观类持有非常多的业务类. 再由客户类去调用这个外观类去实现一些列的业务操作... 这个模式 ...

  7. java设计模式----外观模式(门面模式)

    外观模式主要应用场景在于为复杂的子系统提供一个简单的接口,提高子系统的独立性. 创建DrawerOne类: package facade; public class DrawerOne { publi ...

  8. Java设计模式——组合模式

    JAVA 设计模式 组合模式 用途 组合模式 (Component) 将对象组合成树形结构以表示“部分-整体”的层次结构.组合模式使得用户对单个对象和组合对象的使用具有唯一性. 组合模式是一种结构型模 ...

  9. java设计模式--单列模式

    java设计模式--单列模式 单列模式定义:确保一个类只有一个实例,并提供一个全局访问点. 下面是几种实现单列模式的Demo,每个Demo都有自己的优缺点: Demo1: /** * 单列模式需要满足 ...

随机推荐

  1. 一个简单的RMAN自动备份脚本

    rman备份脚本: #!/bin/bashsource /home/oracle/.bash_profile rman target / << EOFrun {allocate chann ...

  2. 在CentOS上搭建最^1024基本的Nginx反向服务器

    昨天有过去的同事突然问我,他在CentOS7上试验搭建反向服务器死活不成功.现将最简单的搭建步骤分享下: 0. 环境介绍 本次搭建的集群包括以下服务器 192.168.1.107:nginx反向服务器 ...

  3. TableLayout表格布局详解

    一.Tablelayout简介 Tablelayout类以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件.当为TableRow对象时,可在TableRow下添加子控件 ...

  4. .net与mono的那些事

    米格尔·德伊卡萨在.NET的文档于2000年10月发布时就马上对.NET产生了兴趣.在查看字节码解释器后,他发现对于元数据(metadata)没有相应的说明文档.2001年2月,德伊卡萨在.NET邮件 ...

  5. Unity3D ogg下载并播放

    那天说了c#不好弄ogg和mp3的解码,然后就发现打脸了. 找到了一些开源的解码器,由于ogg的音质容量比要明显好于mp3,主要弄ogg的播放. 由于自带解码器,可以实现全平台下载并播放,甚至可以实现 ...

  6. [SQLServer大对象]——FileTable初体验

    阅读导航 启用FILESTREAM设置 更改FILESTRAM设置 启用数据库非事务性访问级别 FileTable 在我接触FileTable之前,存储文件都是存储文件的链接和扩展名到数据,其实并没有 ...

  7. xamarin UWP平台线程交互问题

    先吐槽一下,xamarin到现在为止,虽然开发一下应用尚可,对于一些简单的app开发使用xamarin-forms方式开发,虽然有一些优势,可以省下开发三个平台共同功能的时间,但是当我们随着项目深入的 ...

  8. 360路由器刷openwrt、不死uboot、双系统 、wifi中继

    该类教程网上有很多,但是很多不全,给小白用户造成了很多困扰.我也是按照网上的教程刷了半天,才熟悉了是怎么个回事.这里整理成教程. 注意: 请看教程步骤走,不要跳跃性刷机.不懂的术语.软件,若本文无介绍 ...

  9. 函数柯理化以及利用柯理化实现bind方法

    1.函数柯理化 把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术. 柯理化函数思想:一个js预先处理的思想:利用函数执行可以形 ...

  10. Nginx反向代理搭建配置

    1.反向代理方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将服务器上得到的结果返回给internet 上请求连接的客户端,此时代理服务器对外就表现为一个 ...