Matter类图之初始化部分
上篇文章分析了matter的初始化部分,我们知道了调用流程,但是类的组织方式还不是很明晰,比如纯虚函数的实现在哪里?继承关系是什么?等等。现在我们就来看看。使用processon绘制UML图,废话不多说,直接上图。图片会一直更新和修改错误。
点击这里可以看高清大图
从图中可以看到Command
是作为最顶层的抽象类存在;CHIPCommand
则负责大部分功能的实现;ModelCommand
是作为命令模型,让诸如OnOffToggle
等命令继承。
从这个继承关系,我们就很容易明白为什么有那么多返回Command
的指针,是为了实现不同类功能的多态。
结合上篇文章和本文可以很轻松的明白初始化过程类的组织方式。