🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
`DriverData`是学习设备的数据容器。它能够提供如下信息: * 与设备对话的`Behaviours`; * 父Driver; 基于该设计,关于设备的查询也必须由相关抽象实现。 `DriverHandler`是与设备交互的一个上下文。它提供如下信息: * 与设备对话的Behaviours; * `DriverData`; * 父Driver。 所以,可以看出:在没有与设备建立连接之前,获取设备信息需要通过`DriverData`,因为它包含了通过前期交互而学习到的设备信息。如果需要与设备直接交互需要通过`DriverHandler`,它使用`DriverData`记录学习到的信息。如果需要获取`DriverData`之外的其它信息,我们需要与设备建立连接,甚至与代表设备的其它服务进行交互获取。