你选择当木工还是建筑师? - The Architecture of Open Source Applications

往往在去做一个事情之前,我们应该先描述一下要做的事情。
往往在去做一个架构之前,我们应该先再理解一下要做的事情。
编程是一门严苛的艺术,好似大多数人都习惯性的copy-paste..<很多被称之为”大牛”的人也是如此>,就算是copy-paste 那也是有艺术。。首先你copy别人的东西之前你最起码应该知道是什么以及别人为什么这么做,显然我说的是coding.. 就此打住了。但是编程还不是架构,也许很多程序员会年复一年的思考斟酌一些貌似很博大精深的设计问题,以及某某的美观问题。很少有程序员去思考此应用的扩展性如何?扩展机制是什么?什么该交给客户端去做?什么又该交给服务端去做?C/S架构对此应用是否合适?等等问题,显然这并不是编程问题。
对于顶上的标语我的答案显然是,我希望从木工做起,但是目标是建筑师。

Smart L 架构初始篇

架构关键字 - 主要组件、数据流、插件机制

主要组件

Smart L Client, iot-utils..

数据流
设备状态信息数据流

smartesb框架 smart架构图_Qt


数据处理流程 - 在Smart L 设备数据流处理时候,设计环形消息机制,主要为以下三点:

1、设备热插拔的时候提供检测,此功能主要在驱动中实现,客户端采用轮询检测。

2、客户点像设备发送数据请求,使用专有线程实时检测设备状态。

3、针对不通设备设置报警结点以及处理方式。当设备发送故障或者与结点不符合时候自动进入处理函数。

监控视频信息数据流
访客信息流
插件机制

待续。。。