SOLID定义:
S (Single Responsibility Principle) 单一职责原则
O(Open Closed Priciple) 开放封闭原则,对扩展新功能开放,对修改老代码封闭
L (Liskov Substitution Principle) 发起调用的代码,在不需要知道被调用的代码的任何特别的知识就可以替换有着相同接口的模块。
I (Interface Segregation Principle) 客户应该不依赖胖接口,而是依赖非常专注的接口
D(Dependency Iversion Priciple) 高层代码不依赖底层代码,而是两者都依赖抽象; 而抽象不依赖细节,而是细节依赖于抽象。
C语言实现模式:
1 单事例模型:
只需要一个事例就可以把模块内部所有状态封装起来,这个事例一般是个全局的概念,比如调度系统,核心区数据。
头文件定义该模块对外交互的接口,而该模块逻辑相关核心区结构体应该在.C文件中体现。
2 多实例模型:
该模块提供的服务在系统可能被不同的实体使用,造成存在多份的情况,比如一个循环队列模块等。
这个模型可以使用抽象数据类型(ADT)实现,以体现Liskov Substitution Principle。
一般头H文件定义如下,
typedef sturct CirBufferStruct * CirBuffer;
<