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

SOLID 原则在单片机环境下的 C 语言实现示例,结合嵌入式开发常见场景进行详细说明

1. 单一职责原则 (SRP)

定义:一个模块(函数/文件)只负责一个功能。
示例:传感器数据采集与处理分离

// SensorAdc.h - 仅负责ADC原始数据采集
typedef struct {
    uint16_t (*ReadRaw)(void);  // 原始数据读取接口
} SensorAdc;

// SensorProcessor.h - 仅负责数据处理
typedef struct {
    float (*ConvertToTemperature)(uint16_t adcValue); // ADC转温度
} SensorProcessor;

// 使用示例
SensorAdc cAdc = {ADC_ReadRawValue}; 
SensorProcessor cProcessor = {ADC_ConvertToTemperature};
uint16_t cRaw = cAdc.ReadRaw();
float cTemp = cProcessor.ConvertToTemperature(cRaw);

2. 开闭原则 (OCP)

定义:模块对扩展开放,对修改关闭。
示例:支持多种显示驱动(LED/LCD)的扩展

// DisplayDriver.h - 抽象接口
typedef struct {
    void (*Init)(void);      // 初始化函数指针
    void (*ShowText)(cons

相关文章:

  • [吾爱出品] 【键鼠自动化工具】支持识别窗口、识图、发送文本、按键组合等
  • 基于AI应用创业IDEA:使用百度搜索开放平台的MCP广场智能推荐MCPServices服务
  • java使用CMU sphinx语音识别
  • Java代理讲解
  • 多层级的对象如何修改、或json格式
  • 回溯算法理论基础
  • Verilog 语法 (二)
  • 小刚说C语言刷题——1565成绩(score)
  • element-ui tabs 组件源码分享
  • 品融电商:以全域增长方法论,解码2025情绪消费新机遇
  • Coze高阶玩法 | 使用Coze制作思维认知提升视频,效率提升300%!(附保姆级教程)
  • OpenHarmony之电源管理子系统公共事件定义
  • Vue选项式 API 与组合式 API
  • jdk-8u202-linux-x64.tar.gz官方下载地址
  • 统计服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
  • 大学IP广播系统解决方案:构建数字化智慧化大学校园IP广播平台
  • 创建型设计模式之:简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式和原型模式
  • Oracle Recovery Tools修复ORA-00742、ORA-600 ktbair2: illegal inheritance故障
  • 路由器的基础配置全解析:静态动态路由 + 华为 ENSP 命令大全
  • 3D模型文件格式之《STL格式介绍》
  • 外交部:印度香客赴中国西藏神山圣湖朝圣将于今年夏季恢复
  • 经济日报:上海车展展现独特魅力
  • 生态环境法典草案拟初审:应对气候变化等问题将作原则性规定
  • 机票搜索热度飙升,透过数据看五一假期旅游热度
  • AI翻译技术已走向大规模商用,应用场景覆盖多个关键领域
  • 经济日报刊文:积极应对稳住外贸基本盘