业精于勤,荒于嬉;行成于思,毁于随。
分类: 嵌入式
2016-05-21 18:57:07
当编程能力达到一定程度的时候,编写代码并不是工作中的难点,难点在于对业务逻辑的理解能力,并把这种业务逻辑转换成对应的代码。而架构的设计,则决定了这个产品的好坏。按我目前的理解能力,我将介绍三种类型的架构。
第一种:单一前端设备+服务器(业务逻辑固定)
第二种:多前端设备+服务器(业务逻辑固定)
第三种:多前端设备+统一协议+消息+可配置脚本+服务器(业务逻辑可任意配置增加)
第一种的设计就是一个下位机+上位机的设计,对于简单的设备来说,这种会比较的常用。为前端设备(下位机)设计一个管理软件(上位机),可以达到控制前端设备的作用,这种设计没有太大的复杂性,只需要建立一个服务端与客户端的连接即可。服务端所在位置并不确定在前端设备还是管理软件上面,应根据需求进行设计。
第二种的设计因为涉及到多个前端设备,并且每个前端设备的协议都不相同,在服务器端采用插件的方式来接入设备,当需要接入新的前端设备时,则需要根据该设备来实现它的插件,服务器通过配置来加载插件,从而达到支持新设备的功能。前端设备与服务器之间的连接也是基于服务端与客户端的连接。服务器也不一定是服务端,也可能是客户端,即前端设备可以作为服务端,服务器 可以作为客户端。
第三种设计的架构方式是我要介绍的重点。首先,这种设计思想是基于一种消息机制的。其次,这种设计思想是基于工作颗粒的。再次,这种设计思想是业务逻辑是可配置的。最后,这种设计思想分层次的,上层并不需要知道底层的硬件和实现细节,底层向上层提供服务。
本文乃黎社林原创文章,请勿转载。如须转载请详细标明转载出处。