Edit online

四级抽象模型

Luban是一个跨软/硬件平台的 SDK, 支持多种应用场景:

  • 多个 SoC 芯片,需要做好驱动和设备的分离、驱动实例化等
  • 多块单板,每块板子的外设、IO、性能配置各不相同
  • 多种应用,一块板子可能支持多个应用
  • 若干组件,驱动、组件、应用的对应存在一对多的依赖

以上元素形成了 N x N x N 的多对多组合关系。

SDK 既满足了复杂映射关系的基础,又在设计中坚持了易用性的主旨:
  • 用高内聚提供复用:减少代码冗余,减少维护工作量
  • 用低耦合应对变化:针对某个方案又能灵活配置,满足客户的多元化使用

Luban SDK 框架中抽象出四个层级的元素:

在具体的 Luban 设计中,以上四级基本元素和 SDK 目录的对应关系如下图: