当前位置: 首页 > news >正文

设计模式简述(十六)门面模式

门面模式

  • 描述
    • 基本组件

描述

门面模式是一种概念相对简单的设计模式。
其核心思想就是:封装内部子系统的复杂调用,提供一个门面对象供外部调用。

基本组件

  • 定义子系统对象(这里做了简化,没有声明抽象)
public class SubSystemA {public void operationA() {System.out.println("SubSystemA: Operation A");}
}public class SubSystemB {public void operationB() {System.out.println("SubSystemB: Operation B");}
}public class SubSystemC {public void operationC() {System.out.println("SubSystemC: Operation C");}
}
  • 定义门面对象
public class Facade {private SubSystemA subSystemA;private SubSystemB subSystemB;private SubSystemC subSystemC;public Facade() {subSystemA = new SubSystemA();subSystemB = new SubSystemB();subSystemC = new SubSystemC();}// 编排方法public void executeComplexOperation() {subSystemA.operationA(); // 第一步subSystemB.operationB(); // 第二步subSystemC.operationC(); // 第三步}
}
  • 使用
public class Sample{public static void main(String[] args) {Facade facade = new Facade();facade.executeComplexOperation();}
}
http://www.dtcms.com/a/168638.html

相关文章:

  • 第 8 篇:B/B+ 树:为海量磁盘数据而生
  • 《操作系统真象还原》调试总结篇
  • B站Michale_ee——ESP32_IDF SDK——FreeRTOS_8 消息缓冲区
  • javascript交换值最好三种
  • 计算机网络——客户端/服务端,URI与URL的区别,以及TCP/IP核心机制全解析
  • (36)VTK C++开发示例 ---纹理贴图四边形
  • 【大模型实战篇】对Qwen3提到的thinking和no thinking混合思考模式的讨论
  • Manus AI多语言手写识别技术解析
  • PostgreSQL 的 VACUUM 与 VACUUM FULL 详解
  • 【git】获取特定分支和所有分支
  • 【Linux深入浅出】之全连接队列及抓包介绍
  • 阿里云服务器防御是怎么做出来的?服务器攻击方式有几种?
  • Java文件上传
  • 【算法基础】选择排序算法 - JAVA
  • ARM 指令集(ubuntu环境学习)第六章:ARM 编程技巧与优化策略
  • 供应链算法整理(一)--- 销量预估
  • 如何掌握 Lustre/Scade 同步数据流语言
  • 基于建造者模式的信号量与理解建造者模式
  • 每日算法-250502
  • Python爬虫实战:获取好大夫在线各专业全国医院排行榜数据并分析,为患者就医做参考
  • 传统银行服务和 区块链支付无缝融合的一种解决方案
  • 【AI面试准备】数据治理与GDPR脱敏机制构建
  • 4.Java中的注释
  • VBA宏即根据第一列的内容和第二列的数字,按照数字数量生成对应内容并依次放在第三列、第四列等
  • c++环境和vscode常用的一些有用插件
  • Qt C++简单图形界面与绘图实验
  • 开闭原则与依赖倒置原则区别:原类不变,新增类(功能)vs 接口类不变,原实现类可变
  • 算法篇(九)【滑动窗口】
  • 《筑牢防线:全方位守护移动应用免受逆向侵扰》
  • linux下如何在一个录目中将一个文件复制到另一个录目,删除目录