news 2026/2/5 10:54:05

第 7 篇:命令模式 (Command) —— 操作的“录像带”

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第 7 篇:命令模式 (Command) —— 操作的“录像带”

专栏导读:在 C 语言中,函数调用通常是瞬时的。但在命令模式下,我们将“函数调用”封装成一个结构体对象(包含函数指针 + 参数)。这样一来,请求就被实体化了:你可以把它放进队列里排队执行(异步),存进 Flash 里以后执行(宏录制),甚至把刚才执行的命令反向操作一遍(撤销/Undo)。


1. 场景还原 (The Pain)

假设你正在做一个智能家居中控面板

菜鸟的写法:硬编码的耦合

// Button_ISR.c
void On_Key1_Pressed() {
    // 痛点1:硬编码。按键和业务锁死。
    // 如果想改键位,必须改代码重新编译。
    Light_On(LIVING_ROOM); 
    Curtain_Open(BALCONY);
}

void On_Key2_Pressed() {
    // 痛点2:无法复用。
    // 类似的“开灯”逻辑在语音控制模块里又要写一遍。
    Light_Off(LIVING_ROOM);
}

架构师的审视

  1. 无法动态配置:用户不能自定义按键功能。

  2. 时空耦

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

Qwen2.5-VL-7B-Instruct保姆级教程:模型路径配置错误排查与日志分析

Qwen2.5-VL-7B-Instruct保姆级教程:模型路径配置错误排查与日志分析 1. 为什么你卡在「模型加载失败」?先搞懂这个核心问题 很多人第一次启动Qwen2.5-VL-7B-Instruct本地视觉助手时,浏览器界面一片空白,或者弹出红色报错框&…

作者头像 李华
网站建设 2026/2/5 8:45:42

只需10分钟!这款镜像让Qwen2.5-7B微调变得超简单

只需10分钟!这款镜像让Qwen2.5-7B微调变得超简单 你是不是也遇到过这些情况: 想试试大模型微调,结果光配环境就折腾半天——装框架、下模型、调依赖、改配置,一上午过去,连第一行日志都没跑出来; 听说LoRA…

作者头像 李华
网站建设 2026/2/3 15:51:56

8步出图有多快?Z-Image-Turbo性能实测揭秘

8步出图有多快?Z-Image-Turbo性能实测揭秘 你有没有试过在等一张AI图生成时,盯着进度条数秒——3秒、5秒、7秒……最后忍不住刷新页面? 而当别人已经导出高清图、发到群里、开始下一轮优化时,你的第一张图才刚完成。 这不是玄学…

作者头像 李华
网站建设 2026/2/3 12:02:15

7800美元训练出的奇迹!VibeThinker-1.5B真香

7800美元训练出的奇迹!VibeThinker-1.5B真香 你有没有试过,在没有联网、不调用任何云端API的情况下,仅靠一块RTX 3090显卡,就解出一道AIME压轴题?不是靠搜索答案,而是模型一步步推导出完整解法&#xff0c…

作者头像 李华
网站建设 2026/2/5 8:07:35

Z-Image-Turbo vs 商业模型:6B参数如何媲美20B

Z-Image-Turbo vs 商业模型:6B参数如何媲美20B 在AI图像生成领域,参数规模曾被默认等同于能力上限——20B级商业模型长期占据画质与可控性的制高点,而开源模型往往在10B以下徘徊,妥协于速度、显存或细节。直到Z-Image-Turbo出现&…

作者头像 李华
网站建设 2026/2/3 14:52:37

AutoGen Studio一文详解:Qwen3-4B-Instruct多Agent协同任务执行实战

AutoGen Studio一文详解:Qwen3-4B-Instruct多Agent协同任务执行实战 1. 什么是AutoGen Studio? AutoGen Studio不是一个需要从零写代码的开发环境,而是一个真正面向实际任务的低代码AI代理构建平台。它不强迫你去理解复杂的Agent生命周期管…

作者头像 李华