facade-pattern外观模式
外观模式:
外观模式是面向对象编程中的重要设计模式。外观类用来掩盖复杂的内部逻辑,为用户提供简洁统一的服务接口。外观类的主要功能如下:
1.通过提供简明的对外API接口,来提高程序的可阅读性和间接性。
2.提供通用的特定功能。
3.为代码重构提供一个低耦合的出发点。
good example:
class CPU {public void freeze() { ... }public void jump(long position) { ... }public void execute() { ... }
}class HardDrive {public byte[] read(long lba, int size) { ... }
}class Memory {public void load(long position, byte[] data) { ... }
}/* Facade */class ComputerFacade {private final CPU processor;private final Memory ram;private final HardDrive hd;public ComputerFacade() {this.processor = new CPU();this.ram = new Memory();this.hd = new HardDrive();}public void start() {processor.freeze();ram.load(BOOT_ADDRESS, hd.read(BOOT_SECTOR, SECTOR_SIZE));processor.jump(BOOT_ADDRESS);processor.execute();}
}/* Client */class You {public static void main(String[] args) {var computer = new ComputerFacade();computer.start();}
}
总结:
外观模式主要是为外界提供一个统一的简洁的功能接口。这也正是它不同于建造者模式的地方,建造者模式强调如何构造组合数据。
facade-pattern外观模式相关推荐
- 结构型模式(五)门面模式(Facade Pattern 外观模式)
一.模式定义 门面模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统 ...
- java23中设计模式(1)-facade(门面,外观)模式
java23中设计模式(1)-facade(门面,外观)模式 写在前面 学习java以来不断听到各种设计模式,各种框架也大量使用模式 面试的时候曾经也被问过关于设计模式的问题,但是一直没有 系统的了解 ...
- 进阶学习(3.11) Facade Pattern 门面模式
1, 什么叫门面模式, 也称之为接待员模式 1.1 我更愿意称之为阿拉丁模式, 阿拉丁灯神, 你想什么, 它就直接给你实现了, 你别管中间有多少困难, 他就直接给你实现了 1.2 好下面介绍门面模式, ...
- 使用C#实现适配器模式 (Adapter Pattern) 和外观模式 (Facade Pattern)
本文的概念内容来自深入浅出设计模式一书 现实世界中的适配器(模式) 我带着一个国标插头的笔记本电脑, 来到欧洲, 想插入到欧洲标准的墙壁插座里面, 就需要用中间这个电源适配器. 面向对象的适配器 你有 ...
- 【寒江雪】Go实现外观模式
Facade Pattern 外观模式其实就是把复杂的东西给封装,由统一的接口进行操作.这样可以简化用户的使用. 例子 如果要开一家饭馆,一个饭馆分为采购的,管仓库的,切菜的,炒菜的,吃菜的 ...
- Java设计模式--外观模式
1 Facade Pattern 外观模式 目的:隐藏系统的复杂性,并对外提供了一个可以访问的接口,不必关心实现的细节: 实现:在客户端和复杂系统之间再加一层,这一层将调用顺序.依赖关系等处理好. 1 ...
- 外观模式(Facade)
外观模式(Facade) 外观模式是为了解决类与类之家的依赖关系的,像spring一样,可以将类和类之间的关系配置到配置文件中,而外观模式就是将他们的关系放在一个Facade类中,降低了类类之间的耦合 ...
- 设计模式之【外观模式-Facade】
外观模式(Facade) 外观模式是为了解决类与类之家的依赖关系的 像spring一样,可以将类和类之间的关系配置到配置文件中 而外观模式就是将他们的关系放在一个Facade类中 降低了类类之间的耦合 ...
- facade外观模式/门面模式(通过积分商城的例子理解外观模式)-设计模式
目录 1.概述与图解 2.积分商城兑换礼品的例子 1.概述与图解 facade,外观模式,又叫门面模式.要解决的问题情境是,当一个客户端,需要调用多个子系统或者多个逻辑处理类,进而才能完成一个目标或功 ...
- 漫画:设计模式之 “外观模式”
作者 | 小灰 来源 | 程序员小灰(ID:chengxuyuanxiaohui) ----- 第二天 ----- ------------ 首先,肯德基提供了众多基础菜品,比如鸡翅.汉堡.薯条. ...
最新文章
- 图灵5周年系列活动之科普大爆炸(免费!)
- 深入浅出WPF开发下载
- 观察者设计模式二:回调函数
- html网络,HTML—构建网络
- python嵌入到qt_在Qt图形用户界面中嵌入绘图
- ctsc2009 移民站选址
- N101BCG-L21-10.1-LVDS
- php 5.6连接sqlserver,wamp php5.6连接sqlserver
- docker上安装nginx服务
- Spark standalone运行模式(图文详解)
- mvn命令传递参数和pom文件配置的关系
- [转]Asp.Net下导出/导入规则的Excel(.xls)文件
- Java基础编程经典练习题
- oracle pl sql面试题,SQL面试:PL/SQL面试问题和答案大全
- 水经注地图发布服务中件间有什么功能?
- RingAllreduce和NCCL
- python程序设计基础之turtle库制作简单的小图片
- 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\tsc.ps1,是指在此系统上禁止运行脚本
- 电子计算机进行会计核算 其会计,1. 使用电子计算机进行会计核算,其软件与其生成会计 ….doc...
- SQL 2005安装时报已经安装了同名实例的问题解决。(无法正确卸载干净时最管用)
热门文章
- vue底部选择器_Vue组件-极简的地址选择器
- anaconda中怎么sh_【好工具】 深度学习炼丹,你怎么能少了这款工具!JupyterLab 远程访问指南...
- Java JUC工具类--Exchanger
- java蓝桥杯 试题-基础练习-十六进制转八进制
- ARM和NEON指令 very nice
- 如何创造出更优秀的用户体验?
- 架构设计--仅是软件开发之第二大影响力?!
- vue 2 使用 Bus.js 实现兄弟 (非父子) 组件通信 简单案例
- java.util.UnknownFormatConversionException: Conversion = ‘,‘ 解决
- Apache - Storm