博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【设计模式】—— 外观模式Facade
阅读量:5154 次
发布时间:2019-06-13

本文共 1263 字,大约阅读时间需要 4 分钟。

  前言:【】——————————by xingoo

  模式意图

  外观模式主要是为了为一组接口提供一个一致的界面。从而使得复杂的子系统与用户端分离解耦。

  有点类似家庭常用的一键开关,只要按一个键,台灯卧室客厅的灯都亮了。虽然他们各有各自的开关,但是对外用一个来控制。

  应用场景

  1 为复杂系统 提供简单的接口。

  2 客户程序与抽象类的实现部分分离。

  3 构建层次系统时,用作入口。

  模式结构

  Facade 对外的统一接口

class Facade{    public void operation(){        subsystemClass1.operation();        subsystemClass2.operation();    }}

  subsystem Class 内部系统的实现类

class subsystemClass1{    public static void operation(){        System.out.println("subsystemClass1 operation()");    }}class subsystemClass2{    public static void operation(){        System.out.println("subsystemClass2 operation()");    }}

  代码结构

package com.xingoo.facade;class Facade{    public void operation(){        subsystemClass1.operation();        subsystemClass2.operation();    }}class subsystemClass1{    public static void operation(){        System.out.println("subsystemClass1 operation()");    }}class subsystemClass2{    public static void operation(){        System.out.println("subsystemClass2 operation()");    }}public class Client {    public static void main(String[] args) {        Facade facade = new Facade();        facade.operation();    }}

  运行结果

subsystemClass1 operation()subsystemClass2 operation()

转载于:https://www.cnblogs.com/xing901022/p/4066020.html

你可能感兴趣的文章
Centos 7.0 安装Mono 3.4 和 Jexus 5.6
查看>>
CSS属性值currentColor
查看>>
Real-Time Rendering 笔记
查看>>
实验四2
查看>>
多路复用
查看>>
Python数据可视化之Pygal(雷达图)
查看>>
Java学习笔记--字符串和文件IO
查看>>
转 Silverlight开发历程—(画刷与着色之线性渐变画刷)
查看>>
在js在添版本号
查看>>
sublime3
查看>>
Exception Type: IntegrityError 数据完整性错误
查看>>
Nuget:Newtonsoft.Json
查看>>
Hdu - 1002 - A + B Problem II
查看>>
Android设置Gmail邮箱
查看>>
js编写时间选择框
查看>>
JIRA
查看>>
小技巧——直接在目录中输入cmd然后就打开cmd命令窗口
查看>>
深浅拷贝(十四)
查看>>
HDU 6370(并查集)
查看>>
BZOJ 1207(dp)
查看>>