嵌入式软件应用程序开发框架浅见
最近在构思一个嵌入式系统上的应用程序开发框架,这个不单单是做一个应用程序的框架,是一个系统的。
要达到的目的就是为业务实现部分的程序提供一个框架,这个框架这么说是一个很模糊打概念,下面详细介绍一下这个框架。
框架要实现一些常用的功能封装:
1. 进程间通信的代码,用于实现进程间数据交互;
2. 实现定时器,做开发时间久了,会发现在业务功能实现的过程中,有好多地方会用到定时器,比如某个数据需要定时发送,而有的数据只需要定时发送几次等;
3. 数据处理框架,这个功能是处理基础数据用的框架,基本思想上注册回调机制,有了它,业务代码里就不会再出现长长的switch……case了。
4. 事件状态管理框架,这个功能上用于管理系统内部的状态,基本思想上订阅发布机制,有了它,代码就不用再去请求一堆状态数据了,只需要把你关注打事件或者状态注测一下,当事件发生时,就主动通知给你了,这样处理起来感觉顺一些。
5. 线程封装,考虑这个部分也是因为之前在写程序的过程中,有好多地方需要启动一个临时线程,处理的数据结束之后就自己退出,自动回收资源。其实这个的封装,也是为了业务代码书写的时候不用再去写线程相关打一堆api和参数。
基本就以上几个部分,基于这些年打开发经验,感觉嵌入式上的程序模块分三类:
1. 基础数据采集模块;
提供支持系统业务功能的基础数据,比如导航设备,GPS数据采集的程序可以算这一类。
2. 业务数据处理模块
这一部分一般代码比较多,也是主要的工作量所在
3. 辅助模块
这部分主要是给业务数据处理模块提供一些辅助功能,比如:数据/参数存储等模块,也就是这些模块是其使用者请求什么他就返回什么,自身不具有复杂打逻辑处理。
最后对写程序的两句总结(这个是同事总结的):
分离关注点,消除重复。
这短短打两句话,蕴含了多少编程世界的哲学!
其中包含编程原则,也包含设计模式的思想,还有代码重构的思想!
@http://wuquan-1230.blog.163.com/blog/static/29811153201693075945312/#
个人微信服务号同步推送文章(微信公众号:fensTeck):
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 《HelloGitHub》第 108 期
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
· C# 13 中的新增功能实操
· Supergateway:MCP服务器的远程调试与集成工具