嵌入式软件场景式开发总论

软件的灵魂是:编程语言+数据结构+算法+逻辑架构。

 

谈起数据结构,人们往往过于强调基础——“数组、栈、队列、链表、树、图、堆、散列表等是所有数据结构的根本”。但就像研究原子核和研究医学的区别一样,项目常常需要通过基本数据结构构建复杂的数据结构。数据结构本质上是一个盛放数据的容器,而数据需要一个怎么样的容器盛放往往决定于项目需求和设计方法。

 

算法:算法的命运和数据结构极其类似,人们又拿起基础的大棒,但遗憾的是算法的基础属性没有数据结构明确。算法与逻辑学、数学紧密结合,产生千变万化的算法方法,而且高度与应用场景结合——很多算法脱离特定应用场景就无法使用。

 

逻辑架构:逻辑架构与业务紧密相关,高度结合应用场景。一个大棚环境控制系统的主机与X光机主机的软件逻辑架构肯定是差异很大的。

在软件业,无论谁都想提炼出普适性的规律和方法,以不变应万变,减少工作量。比如Linux内核设计中对于各大类驱动都建立一套驱动子系统如输入输出驱动子系统、V4I2(Video for Linux two)视频设备驱动子系统等等。但仔细看这些所谓的规律和方法使用极其受限,基本也是只能用于特定场景。

因此根据特定场景结合软件基础设施阐述软件才更具有意义。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年7月1日
下一篇 2018年7月1日

相关推荐