news 2026/5/3 21:00:30

第 10 篇:装饰器模式 (Decorator) —— 给数据流“加特技”

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第 10 篇:装饰器模式 (Decorator) —— 给数据流“加特技”

专栏导读:装饰器模式允许向一个现有的对象添加新的功能,同时又不改变其结构。在嵌入式 C 语言中,这通常表现为“接口的层层包裹”。它是实现中间件(Middleware)和协议栈分层处理(Layering)的核心思想。


1. 场景还原 (The Pain)

假设你有一个UART_Send函数,负责发日志。

菜鸟的写法:修改原始代码

// UART.c
void UART_Send(uint8_t* data, int len) {
    // 需求1:产品经理说要加时间戳
    printf("[%d] ", HAL_GetTick());
    
    // 需求2:安全团队说数据要异或加密一下
    for(int i=0; i<len; i++) data[i] ^= 0xA5;

    // 需求3:硬件组说串口 buffer 小,要压缩一下
    // ... 压缩逻辑 ...

    // 终于发送
    HAL_UART_Transmit(&huart1, data, len, 100);
}

架构师的审视

  1. 违反开闭原则:每次加

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 19:27:01

网络资源下载完全攻略:从痛点到解决方案

网络资源下载完全攻略&#xff1a;从痛点到解决方案 【免费下载链接】res-downloader 资源下载器、网络资源嗅探&#xff0c;支持微信视频号下载、网页抖音无水印下载、网页快手无水印视频下载、酷狗音乐下载等网络资源拦截下载! 项目地址: https://gitcode.com/GitHub_Trend…

作者头像 李华
网站建设 2026/5/1 6:54:34

设计心得——API和ABI以及ABI的兼容性

一、工程实践需求 在开发的工程实践中&#xff0c;经常会遇到这些情况&#xff0c;在升级了动态库或相关的程序后&#xff0c;项目整体就无法启动了。甚至可能在运行时&#xff0c;直接就崩溃了。而在互联网的应用中&#xff0c;更愿意使用热补丁&#xff0c;即在不停止整体服务…

作者头像 李华
网站建设 2026/5/1 11:23:22

横评后发现,AI论文平台千笔 VS WPS AI 更贴合继续教育需求!

随着人工智能技术的迅猛迭代与普及&#xff0c;AI辅助写作工具已逐步渗透到高校学术写作场景中&#xff0c;成为专科生、本科生、研究生完成毕业论文不可或缺的辅助手段。越来越多面临毕业论文压力的学生&#xff0c;开始依赖各类AI工具简化写作流程、提升创作效率。但与此同时…

作者头像 李华
网站建设 2026/5/1 8:04:46

显卡性能优化工具:DLSS版本管理效率提升指南

显卡性能优化工具&#xff1a;DLSS版本管理效率提升指南 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 作为一名游戏玩家&#xff0c;你是否遇到过这样的困境&#xff1a;新买的RTX显卡却因游戏厂商更新滞后&#xff…

作者头像 李华
网站建设 2026/5/1 9:51:41

Spring Cloud OpenFeign 生产级优化:远程调用性能与可靠性提升

在微服务架构中&#xff0c;远程服务调用是核心场景&#xff0c;Spring Cloud OpenFeign 以声明式接口、零侵入特性成为主流选型。但默认配置下&#xff0c;OpenFeign 存在连接池性能差、超时控制单一、熔断降级缺失、日志追踪混乱等问题&#xff0c;无法适配高并发生产环境。本…

作者头像 李华
网站建设 2026/5/2 6:13:04

测完这批工具 9个一键生成论文工具测评:专科生毕业论文+开题报告高效写作指南

在当前学术写作需求日益增长的背景下&#xff0c;专科生群体在撰写毕业论文和开题报告时常常面临时间紧张、资料匮乏、格式不规范等难题。为帮助学生高效完成写作任务&#xff0c;笔者基于2026年的实测数据与真实用户反馈&#xff0c;对市面上主流的9款一键生成论文工具进行了全…

作者头像 李华