第 6 篇:模板方法模式 (Template Method) —— 万能驱动骨架

📅 发布时间:2026/7/10 12:46:01 👁️ 浏览次数:
第 6 篇:模板方法模式 (Template Method) —— 万能驱动骨架
专栏导读:模板方法模式是“代码复用”的各种模式中最高效的一种。它定义了一个操作中的算法骨架(Standard Workflow),而将一些步骤延迟到子类中实现。在 C 语言驱动开发中,这意味着我们可以写一个“万能驱动器”,它规定了所有传感器必须遵守的生命周期,而具体的 I2C/SPI 读写操作则由具体的驱动文件去填空。1. 场景还原 (The Pain)假设你需要读取三个传感器:温湿度 (SHT30)、光照 (BH1750)、气压 (SPL06)。 为了省电,你的业务逻辑要求:读取前上电 - 等待稳定 - 读取数据 - 校验数据 - 立即断电。菜鸟的写法:各自为政// sht30.cfloat SHT30_GetTemp() { HAL_GPIO_WritePin(SHT_PWR, 1); // 上电 HAL_Delay(20); // 等待 I2C_Read(...); // 读取 HAL_GPIO_WritePin(SHT_PWR, 0); // 断电 return temp;}