项目接口逻辑
  luojiaxing 2023年07月11日 605 0 云开发云云对接

项目接口逻辑

image.png

ConvertController与PlatformIotRequestContext是组合关系,ConvertController不可以脱离PlatformIotRequestContext而独立存在,PlatformIotRequestContext被封装在ConvertController之中。ConvertController是接口传入的起始处,对参数做基础的有效性检验。而PlatformIotRequestContext是将参数与平台连接的桥梁。

PlatformIotRequestContext与AbstractPlatform是组合关系,AbstractPlatform被封装在PlatformIotRequestContext中。AbstractPlatform是一个抽象的平台,包含了平台的普遍功能——发送请求和转化协议。

AbstractPlatform与RedisBaseProtocolRequestService和CommonProtocolRequestService是组合关系,RedisBaseProtocolRequestService和CommonProtocolRequestService被封装在AbstractPlatform中。

BaseProtocolConvertService与RedisBaseProtocolRequestService和CommonProtocolRequestService是继承关系,RedisBaseProtocolRequestService和CommonProtocolRequestService是子类。BaseProtocolConvertService是抽象类的协议转换服务,提供了一些基础的转换服务,协议转换以及参数解析。具体的协议转换体现于RedisBaseProtocolRequestService和CommonProtocolRequestService,分别是利用redis缓存库和数据库中的转换信息。

AbstractPlatform与BaseProtocolConvertFactory是依赖关系,AbstractPlatform依赖于BaseProtocolConvertFactory。BaseProtocolConvertFactory是抽象类的协议转换工厂,为平台提供了一些基础的转换策略,根据设备类型或操作类型获取相应的转换策略。
AbstractPlatform有子类,XiaoMiIoT和HuaWeiIoT,它们是具体的平台,有不同的签名与请求头。 BaseProtocolConvertFactory有子类,XiaoMiProtocolConvertFactory及HuaWeiProtocolConvertFactory,它们是不同的协议转换工厂,有具体的平台厂商名称。XiaoMiIoT和HuaWeiIoT分别依赖于XiaoMiProtocolConvertFactory及HuaWeiProtocolConvertFactory。

BaseProtocolConvertFactory与BaseProtocolConvertStrategy是组合关系,BaseProtocolConvertStrategy被封装在BaseProtocolConvertFactory中。BaseProtocolConvertStrategy是抽象类的协议转换策略,为协议转换工厂提供具体策略。
BaseProtocolConvertStrategy有子类,OptTypeProtocolConvertStrategy, XxxProtocolConvertStrategy, YyyProtocolConvertStrategy。在子类中,为抽象类提供具体匹配设备类型与操作类型的手动转换策略。

最后一次编辑于 2023年07月11日 0

暂无评论

推荐阅读
  liyizhang   2023年07月11日   545   0   0 spring boot
  liyizhang   2023年07月11日   542   0   0 spring boot
  luojiaxing   2023年07月11日   876   0   0 spring boot