欢迎光临
我们一直在努力

第 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); }

架构师的审视

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

  • 时空耦

  • 赞(0)
    未经允许不得转载:171主机测评 » 第 7 篇:命令模式 (Command) —— 操作的“录像带”
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址