news 2026/5/7 18:01:52

二十三种设计模式(十)--外观模式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
二十三种设计模式(十)--外观模式

外观模式 Facade

外观模式是开发过程中经常不经意间就用到的模式. 当我们编写一个功能相对复杂的模块时, 要对外提供一个简单的调用接口, 就用到了外观模式.
外观模式的核心价值就是对外提供简单易用的接口, 屏蔽内部复杂的逻辑, 协调多个子系统之间的交互顺序和依赖关系.
多个子系统之间是相互独立, 外观模式只是协调它们之间的关系, 不对子系统进行管理.
外观模式是通过外观层, 将使用端与诸多子系统完全隔离, 使用端不能直接调用子系统.
简单使用示例如下:

// 外观类:对外提供统一接口,协调子系统classLogFacade{// 持有子系统的引用(可按需创建或注入)privateFileWriterfileWriter;privateEncryptorencryptor;privateCompressorcompressor;privateBackupperbackupper;publicLogFacade(){this.fileWriter=newFileWriter();this.encryptor=newEncryptor();this.compressor=newCompressor();this.backupper=newBackupper();}// 对外提供的简单接口:记录日志(内部协调子系统的一系列操作)publicvoidrecordLog(Stringcontent){// 1. 加密日志内容StringencryptedContent=encryptor.encrypt(content);// 2. 写入文件fileWriter.write(encryptedContent);// 3. 压缩日志文件compressor.compress();// 4. 备份日志文件backupper.backup();System.out.println("日志记录完成!");}}// 子系统1:日志写入文件classFileWriter{publicvoidwrite(Stringcontent){System.out.println("将加密后的日志写入文件:"+content);}}// 子系统2:日志加密classEncryptor{publicStringencrypt(Stringcontent){// 模拟加密逻辑return"encrypted_"+content;}}// 子系统3:日志压缩classCompressor{publicvoidcompress(){System.out.println("压缩日志文件");}}// 子系统4:日志备份classBackupper{publicvoidbackup(){System.out.println("备份日志文件到服务器");}}

客户端调用示例:

publicclassFacadePattern{publicstaticvoidmain(String[]args){// 客户端只与外观类交互,无需关心内部子系统LogFacadelogFacade=newLogFacade();logFacade.recordLog("用户登录成功:admin");}}

运行结果:

将加密后的日志写入文件:encrypted_用户登录成功:admin 压缩日志文件 备份日志文件到服务器 日志记录完成!
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/29 16:52:43

Wan2.2-T2V-A14B与Sora的技术路线差异分析

Wan2.2-T2V-A14B与Sora的技术路线差异分析你有没有想过,一条8秒的广告视频,从脚本到成片,只需要不到两分钟?这不再是科幻。在AI生成内容(AIGC)狂飙突进的今天,文本到视频(T2V&#x…

作者头像 李华
网站建设 2026/5/7 14:38:34

2025本地AI部署终极指南:3步搞定离线大模型

2025本地AI部署终极指南:3步搞定离线大模型 【免费下载链接】flashai_vision 项目地址: https://ai.gitcode.com/FlashAI/vision 在数据安全日益受到重视的2025年,本地AI部署成为企业技术转型的关键环节。无需联网的离线大模型解决方案&#xff…

作者头像 李华
网站建设 2026/5/7 5:20:23

零代码实现大模型微调!LLaMA Factory全流程保姆级教程

本文详细介绍LLaMA Factory这一零代码大模型微调工具,通过Web界面实现本地模型微调。文章从工具安装开始,讲解模型选择、微调方法(全参数/冻结/LoRA)、模型量化技术及对话模板配置等关键步骤。LLaMA Factory支持100主流模型,提供多种微调算法…

作者头像 李华
网站建设 2026/5/2 0:26:36

2025 DevOps平台发展全景:本土化与全球化双轨并行下的企业抉择

2025 DevOps平台发展全景:本土化与全球化双轨并行下的企业抉择 数字化转型浪潮下,DevOps平台已从单纯的技术工具演变为企业研发效能的核心基础设施。2025年的DevOps领域呈现出前所未有的多元化发展态势,本土化解决方案与全球化开源工具各展所…

作者头像 李华