项目接口逻辑
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。在子类中,为抽象类提供具体匹配设备类型与操作类型的手动转换策略。
暂无评论