博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
facade-门面模式
阅读量:6850 次
发布时间:2019-06-26

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

解决问题

客户端调用逻辑与业务代码有效隔离,使得客户端调用只和Facade进行交互,内部的调用逻辑由Facade进行实现。此模式也可以和接口化编程结合,进一步降低客户端与业务逻辑的耦合

应用场景

它主要应用在代码结构的设计,合理组织代码结构

原理图(UML)

Facade 提供对客户端的接口和组织业务逻辑

示例

此模式非常常见,这里就直接使用wikipedia上的代码

/* Complex parts */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 CPU processor;    private Memory ram;    private 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) {        ComputerFacade computer = new ComputerFacade();        computer.start();    }}复制代码

参考

https://en.wikipedia.org/wiki/Facade_pattern#Java

转载于:https://juejin.im/post/5b19effef265da6e4e436a03

你可能感兴趣的文章
我的友情链接
查看>>
系统集成知识点整理(八)合同管理
查看>>
maven 阿里云类库
查看>>
Linux Bash Shell高级重定向操作--深入了解标准错误输出和标准输出
查看>>
ESXi 密码忘记了,怎么办!
查看>>
我的友情链接
查看>>
Exchange Server 2010 SP2 高可用性(五)---配置证书
查看>>
我的友情链接
查看>>
CCIE学习笔记之EEM
查看>>
OO思想之PHP之原则
查看>>
学习笔记:缓存技术Redis之Hash类型
查看>>
网络资源整合:Reactor模式的实现方式
查看>>
Bash Shell环境变量的使用
查看>>
Spark的安装和基础编程
查看>>
我的友情链接
查看>>
lduan SCOM 2012 部署审核报告(七)
查看>>
路由协议:RIP OSPF BGP
查看>>
高速缓冲存储器 Cache
查看>>
Tomcat+Solr构建企业级搜索引擎
查看>>
The Principles of Java Application Performance Tun
查看>>