接口设计的核心原则:功能抽象

1,接口定义就是功能抽象(找共同点)的过程,明确接口的适用范围,功能定义和使用约束。

举个例子:flash_read(int chip, int addr, int len, char *data)

chip是flash芯片的编号,多芯片要求统一编码(不可重复),无论flash类型。

addr和len说明是线性地址,可随机访问。

data说明每个地址都是8bit的数据,某些16bit的flash,需要配合addr做转换处理。

  

2,抽象必须丢弃实现细节,细节和功能抽象不可矛盾。

1)flash有多种总线,还有不同的总线类型(lbs/spi),读接口则忽略这些总线关系,提供统一的访问接口。

2)某些flash需要地址对齐,该接口未约束,则需要内部处理,丢弃多余数据。

3)某个flash,每个地址有16bit数据,要考虑转换处理

 

posted @ 2017-04-02 14:17  soul.stone  阅读(533)  评论(0编辑  收藏  举报