笔者在车联网领域,从事软件相关工作。

以车联网软件研发项目为例,为啥是从面向信号向面向服务转变?

首先,面向信号与面向服务的区别。

  1. 面向服务依然需要车辆传感器和执行器等产生的信号作为功能实现的基础,不是面向服务就不需要信号了。
  2. 面向服务是指将信号经过一些逻辑打包,封装成可被多处重复使用的原子级服务,类似于工具类,如车门解闭锁控制原子级服务。
  3. 面向服务是多个原子级服务在不同的业务需求中,通过排列组合成各种使用场景;面向信号则是根据一个使用场景,定制一套专门的信号规则和信号使用方式。

正是因为面向服务开发产出的各种原子级服务,具有“低耦合高内聚”的特点,使得研发团队可以通过对原子级服务的修改、增加、删除来满足客户需求场景。

而不是像过去面向信号开发一样,客户想法的风吹草动,需求设计和代码研发就要熬夜加班。

所以,这种变化是软件发展的一个必然过程。

但从另一个方面来说,这对于从事软件研发的编码人员也有了新的要求:

不能只做无情的产"码"机器了,还需要多动动脑子……