Java设计模式---外观模式
外观模式(Facade)
外观模式的意图是:为子系统提供一个接口,便于它的使用。
解释:
简单的说,外观模式就是封装多个上层应用需要的方法,使得上层调用变得简单,为上层提供简单的接口,是设计模式中一种比较简单的设计思想,但是,也是最常用的一种设计模式。
举例:
当你想吃橘子的时候,你需要做那几件事呢?
1:去买橘子
2:剥橘子
3:吃橘子
这样去一步一步的调用各个方法是不是觉得很麻烦呢?所以,我们需要做的工作就是简化这些步骤,把它封装在一个方法中实现。
实现:
下面给出实现代码的UML图。
下面给出源代码:
1.oranger
package com.brucezhang.facade;public class oranger {public void eat() {System.out.println("eat oranger !");}public void buy() {System.out.println("buy oranger !");}public void wash() {System.out.println("wash oranger !");}
}
2.my_oranger
package com.brucezhang.facade;public class my_oranger {private oranger oranger;public my_oranger(oranger oranger){this.oranger = oranger;}public void go_oranger() {oranger.buy();oranger.wash();oranger.eat();}
}
3.people
package com.brucezhang.facade;public class people {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubmy_oranger myOranger = new my_oranger(new oranger());myOranger.go_oranger();}}
由代码中我们可以看出,我们想吃橘子的时候只需要调用 go_oranger() 方法即可。
下面是运行的结果:
buy oranger !
wash oranger !
eat oranger !
Java设计模式---外观模式相关推荐
- Java 设计模式——外观模式
概述 今天要说的外观模式是一个相对简单的设计模式,而且在日常的开发中,可能你也会时常使用它,只是你可能并未想过这是一个设计模式.本文会从一些实例着手,来对本文要说明的外观模式进行尽可能全面的讲解.希望 ...
- Java设计模式-外观模式
我又来了,继Java设计模式之桥接模式后,现在来到了外观模式啦,外观模式又称为门面模式啦
- Java设计模式--外观模式
1 Facade Pattern 外观模式 目的:隐藏系统的复杂性,并对外提供了一个可以访问的接口,不必关心实现的细节: 实现:在客户端和复杂系统之间再加一层,这一层将调用顺序.依赖关系等处理好. 1 ...
- Java设计模式——外观模式【Facade Pattern】
一.引言 23种设计模式大概分为三大类: 5种(创建型模式):工厂方法模式.抽象工厂模式.单例模式.原型模式.建造者模式. 7种(结构型模式):适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组 ...
- Java设计模式----------外观模式
1.介绍 外观模式是一种结构型设计模式.在外观模式中,外观类中提供一个或者一组对外的接口.客户端对于复杂系统的访问是通过外观类的接口进行的,从而解除了客户端与复杂系统之间的耦合,隐藏了复杂系统内部的逻 ...
- Java设计模式-外观模式(Facade)
外观模式是为了解决类与类之家的依赖关系的,像spring一样,可以将类和类之间的关系配置到配置文件中,而外观模式就是将他们的关系放在一个Facade类中,降低了类类之间的耦合度,该模式中没有涉及到接口 ...
- java设计模式 订阅模式_Java中的外观设计模式
java设计模式 订阅模式 立面是指建筑物的外观. 当穿过街道时,我们所看到的只是建筑物的外观. 该工作面抽象了建筑物的所有复杂实现细节. 同样, 外观设计模式旨在为子系统中的一组接口提供统一的接口. ...
- java设计模式工厂模式_Java中的外观设计模式
java设计模式工厂模式 Facade Design Pattern is one of the Structural design patterns (such as Adapter pattern ...
- Java设计模式 -11- 外观模式(Facade模式)
Java设计模式 -11- 外观模式(Facade模式) 前言 外观模式的定义与特点 优点: 缺点: 外观模式的结构与实现 1. 模式的结构 2. 模式的实现 外观模式的应用实例 外观模式的应用场景 ...
最新文章
- WinCE中串口驱动及接口函数介绍(转载)
- 利用Certbot工具快速给网站部署Let's Encrypt免费SSL证书
- simantaneous AJAX call triggered for Kyma plugin
- listview嵌套gridview
- 使用GDAL工具对FY3系列卫星数据进行校正
- python能自学成功吗-想自学Python,如何才能坚持下来?
- IIS7 上部署MVC3,执行错误:Could not load type 'System.ServiceModel.Activation.HttpModule'
- Web爬虫|入门教程之爬虫简介
- 异常处理(二)---------Field * in * required a bean of type '*' that could not be found.
- 【论文写作】汽车销售管理系统的设计与开发引言参考
- python if else语句例子,python 中if else 语句的作用及示例代码
- 青龙面板----今日头条脚本修复版
- python 排名函数_分数排名(Python),成绩,排序,python
- hostent实例详解
- 树叶叶脉的提取及描述
- 关于ECharts怎么隐藏掉坐标轴
- MAX-SUM算法信息传递规则的优化
- (React入门)ref
- 向量检索(一)Faiss 在工业界的应用和常见问题解决
- Linux嵌入式开发——vim编辑器
热门文章
- centos下ftp接受/发送文件
- SNF快速开发平台MVC-EasyQuery-拖拽生成SQL脚本
- asp.net获取ip
- 谈谈Koa 中的next
- 2018年Github最受欢迎机器学习语言Python稳坐冠军,numpy、scipy是最受欢迎软件包...
- 两个函数彻底理解Lua中的闭包
- IdentityServer4 使用OpenID Connect添加用户身份验证
- Flex/Flash Builder里实用但被忽略的编译参数
- Haproxy+keepalived高可用代理服务
- MasterPage,Page 2者之间事件的执行顺序