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

你可能感兴趣的:(单片机,c语言,嵌入式硬件)