您的位置:首页 > 运维架构 > Linux

嵌入式软件应用程序开发框架浅见

2016-10-30 20:21 288 查看
最近在构思一个嵌入式系统上的应用程序开发框架,这个不单单是做一个应用程序的框架,是一个系统的。

要达到的目的就是为业务实现部分的程序提供一个框架,这个框架这么说是一个很模糊打概念,下面详细介绍一下这个框架。

框架要实现一些常用的功能封装:

1. 进程间通信的代码,用于实现进程间数据交互;

2. 实现定时器,做开发时间久了,会发现在业务功能实现的过程中,有好多地方会用到定时器,比如某个数据需要定时发送,而有的数据只需要定时发送几次等;

3. 数据处理框架,这个功能是处理基础数据用的框架,基本思想上注册回调机制,有了它,业务代码里就不会再出现长长的switch……case了。

4. 事件状态管理框架,这个功能上用于管理系统内部的状态,基本思想上订阅发布机制(也称观察者模式),有了它,代码就不用再去请求一堆状态数据了,只需要把你关注打事件或者状态注测一下,当事件发生时,就主动通知给你了,这样处理起来感觉顺一些。

5. 线程封装,考虑这个部分也是因为之前在写程序的过程中,有好多地方需要启动一个临时线程,处理的数据结束之后就自己退出,自动回收资源。其实这个的封装,也是为了业务代码书写的时候不用再去写线程相关打一堆api和参数。

基本就以上几个部分,基于这些年打开发经验,感觉嵌入式上的程序模块分三类:

1. 基础数据采集模块;

提供支持系统业务功能的基础数据,比如导航设备,GPS数据采集的程序可以算这一类。

2. 业务数据处理模块

这一部分一般代码比较多,也是主要的工作量所在

3. 辅助模块

这部分主要是给业务数据处理模块提供一些辅助功能,比如:数据/参数存储等模块,也就是这些模块是其使用者请求什么他就返回什么,自身不具有复杂打逻辑处理。

最后对写程序的两句总结(这个是我的“师傅”总结的):
分离关注点,消除重复。

这短短打两句话,蕴含了多少编程世界的哲学!

其中包含编程原则,也包含设计模式的思想,还有代码重构的思想!

@http://wuquan-1230.blog.163.com/blog/static/29811153201693075945312/#
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息