news 2026/6/10 9:42:02

第 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/5/9 11:40:21

IndexTTS-2-LLM生产环境案例:高可用Sambert双引擎部署教程

IndexTTS-2-LLM生产环境案例:高可用Sambert双引擎部署教程 1. 为什么需要双引擎语音合成系统? 你有没有遇到过这样的情况:线上语音服务突然卡顿、响应变慢,或者某段关键播报怎么也合成不出来?在实际业务中&#xff0…

作者头像 李华
网站建设 2026/6/5 20:45:43

星图AI云新玩法:Clawdbot接入Qwen3-VL:30B,打造企业级AI助手

星图AI云新玩法:Clawdbot接入Qwen3-VL:30B,打造企业级AI助手 1. 引言:为什么你需要一个“能看会聊”的办公助手? 你有没有遇到过这些场景? 同事发来一张带表格的截图,问:“这个数据能帮我整理…

作者头像 李华
网站建设 2026/6/10 0:32:58

YOLO X Layout实战:11种文档元素精准识别保姆级教程

YOLO X Layout实战:11种文档元素精准识别保姆级教程 你是否遇到过这样的场景:手头有一堆扫描版PDF或拍照文档,想快速提取其中的标题、表格、公式、图片等结构化信息,却只能靠人工逐页标注?或者正在开发一个智能文档处…

作者头像 李华
网站建设 2026/5/29 10:07:01

小白也能懂的PyTorch环境搭建,PyTorch-2.x-Universal-Dev-v1.0实测分享

小白也能懂的PyTorch环境搭建,PyTorch-2.x-Universal-Dev-v1.0实测分享 1. 为什么说这个镜像真的适合新手? 你是不是也经历过这些时刻? 在本地装PyTorch,CUDA版本对不上,报错一串红色文字,根本看不懂&am…

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

LLaVA-v1.6-7b部署教程:Kubernetes集群中Ollama StatefulSet编排

LLaVA-v1.6-7b部署教程:Kubernetes集群中Ollama StatefulSet编排 1. 为什么选择LLaVA-v1.6-7b作为视觉多模态服务核心 LLaVA(Large Language and Vision Assistant)不是简单的“图片看图说话”工具,而是一个真正能理解图像语义、…

作者头像 李华
网站建设 2026/6/10 0:45:46

小白必看!通义千问3-VL-Reranker快速入门:从安装到实战

小白必看!通义千问3-VL-Reranker快速入门:从安装到实战 1. 这个模型到底能帮你做什么? 你有没有遇到过这样的问题:在一堆商品图里找某款特定设计的背包,结果文字搜不到、图片搜不准;或者想从上百条短视频…

作者头像 李华