- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
LabVIEW程序设计模式(一)
录入:edatop.com 点击:
我是从LabVIEW的中文版帮助文档中接触“程序设计模式”一词的,这个相对学术化的词语是对一系列用于LabVIEW程序设计结构的归纳和总结。在建造房子时,需要针对房子的用途设计整个房屋的架构,确保房子在这个架构上的坚固性和可建造性。写程序时同样如此,不同的应用需要使用不同的程序设计结构。例如我们在LabVIEW中构建一个用户界面型程序时,往往首先在背面板中加入一个大的while循环以使程序持续运行。如果需要响应用户界面事件则还需要加入一个Event事件结构。那么我们是否曾经考虑过以下的这些问题:
对于初学者而言,理解和掌握程序设计模式往往能起到事半功倍的效果;而对高级用户而言,归纳各种程序设计模式又能够不断完善程序中遇到的问题,并衍生一套符合特定应用的特有的程序设计模式。
- 应用中是否存在并行响应的情况?如在持续的数据采集过程中,是否需要同时响应单击菜单的事件?
- 底层获取的数据如何与上层的数据显示部分进行数据交互?
- 上层的界面如何受底层程序的控制?
- 同一个循环中采用哪种方式进行数据交换?是局域变量、全局变量、共享变量还是移位寄存器?
- 程序是否具有可扩展性?
- 如果程序运行过程中,发生系统错误或者硬件通讯错误,是否会停止运行?待错误排除后是否会继续运行?
- 如何组织程序中的核心数据结构?是否需要采用面向对象程序设计?
- 如何记录测试数据并生成报表?如何保存用户配置参数?
- 如何处理程序运行中的断电情况?重新启动时的继续运行?数据的最低丢失?
- 如何实现运行过程的采样触发和多点采样的同步?
对于初学者而言,理解和掌握程序设计模式往往能起到事半功倍的效果;而对高级用户而言,归纳各种程序设计模式又能够不断完善程序中遇到的问题,并衍生一套符合特定应用的特有的程序设计模式。