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

第 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. 违反开闭原则:每次加

http://www.jsqmd.com/news/332958/

相关文章:

  • 【开题答辩全过程】以 基于hadoop的新能源汽车数据可视化分析系统为例,包含答辩的问题和答案
  • 2026年上门按摩平台推荐:健康服务趋势评测,涵盖办公与家庭场景服务痛点 - 品牌推荐
  • 中小企业CRM预算3千到3万怎么配?有赞全链路私域方案实测 - 资讯焦点
  • 【开题答辩全过程】以 高校学生平时成绩管理系统为例,包含答辩的问题和答案
  • 探讨有实力的规划馆展厅策划设计施工品牌企业哪家性价比高 - 工业品网
  • AI终极辩论:拯救还是毁灭人类?
  • 2026年上门按摩平台推荐Top5:居家健康服务新选择 - 品牌推荐
  • 2026年性价比高的环保型防火涂料排名,昊优环保上榜原因揭秘 - 工业品牌热点
  • 【MySQL修炼篇】从S锁/X锁到Next-Key Lock:MySQL锁机制硬核拆解
  • 2026年度男士沐浴露排行榜!深度测评第一名推荐:温和防护长效美白 - 资讯焦点
  • 探寻珠海暨南大学附近白切鸡美食的佳选购地 - 工业设备
  • 推荐2026年7家TikTok广告开户官方代理商大盘点 - 资讯焦点
  • 2026别错过!AI论文软件 千笔ai写作 VS WPS AI,专科生专属神器!
  • 2026年北京陪诊公司推荐:基于多维度实测评价,针对老人与急症陪护痛点精准指南 - 十大品牌推荐
  • 2026年江苏地区防火密封胶加工厂排名,口碑好的有哪些 - mypinpai
  • 学长亲荐10个降AIGC工具 千笔·专业降AI率智能体解决论文查重难题
  • 2026年特殊膳食加工优质企业推荐指南 - 资讯焦点
  • task4思路
  • 2026年造极GEO服务选购指南,说说哪家性价比高 - 工业推荐榜
  • 摆脱论文困扰!AI论文软件 千笔·专业学术智能体 VS 万方智搜AI,本科生专属神器!
  • 2026镀锌刺绳优质厂家推荐 多场景适配 - 资讯焦点
  • 揭秘外墙材料ODM源头:2026年值得关注的厂家趋势,仿石材外墙瓷砖/外立面福字瓷砖壁画,外墙材料产品选哪家 - 品牌推荐师
  • 盘点GEO服务公司,有名且口碑好的企业Top10 - myqiye
  • 2026年上海热门的EJU课程学习机构排行,各机构优势分析 - 工业品网
  • 门店管理系统员工不会用?3天速成方案+激励机制破解使用率困局 - 资讯焦点
  • YOLO26原创自研 | 一种新颖的跨通道交互的高效率通道注意力EMCA,ECA改进版
  • 讲讲长三角推荐一下生鲜食材配送供应商怎么选择 - 工业设备
  • 探索Onekey Steam Depot Manifest Downloader:高效获取游戏清单的秘诀
  • 聊聊售后完善的LED显示屏企业,金元彩亮科技价格费用咋算? - mypinpai
  • <span class=“js_title_inner“>存储涨价,预算吃紧,项目还得上,我该怎么办?</span>