LabVIEW面向对象的ActorFramework(2)
二、为什么要学习面向编程?
面向对象编程,如果将上文推荐的两本书读完后,基本上也就有了答案。从自我产品开发的经验中,理解为可以迅速解决中大型程序需求变化时,在不影响其他程序功能的情况下,能够实现新增功能的快速迭代,方便程序的扩展和可维护。
在NI公司的文档描述中,对于ActorFramework框架优势描述如下:
- 具备QDSM 设计的所有优势
- 灵活性显著提高
- 更多的重复使用VI
- 降低不同模块之间的耦合性
如果用一句话概括,就是提高编程的生产效率。
三、LabVIEW面向编程学习为什么有点难?
面向对象编程在文本语言开发环境内是一致看好的编程方式,但是在LabVIEW编程环境下,对于实现面向对象编程,却是有点褒贬不一。
为什么会这样?我个人的理解如下:
大部分LabVIEW的学习和使用者,大都非计算机编程专业人员,这点很关键。即,LabVIEW的使用者,并不能对编程有较深的理解,仅仅是通过简单代码范例的学习,完成自己领域内试验原型的验证工作。使用者也许是物理、通信、热能、自动化、电气等领域的研发、测试或者应用开发人员。使用面向过程的编程方式,是其所熟知并符合逻辑分析流程的思维方式。
而从LabVIEW本身的描述,也说明了这一点。阐述如下:
“LabVIEW软件是NI设计平台的核心,也是开发测量或控制系统的理想选择。 LabVIEW开发环境集成了工程师和科学家快速构建各种应用所需的所有工具,旨在帮助工程师和科学家解决问题、提高生产力和不断创新。”
而面向对象的编程思想,在文本语言的开发环境下,能够相对容易理解,而对于图像化语言,本身就是基于流程化的编程表达方式,对于描述并使用面向对象编程方式,还是有些困难的。
所以,如果学会一门文本语言,如JAVA、C#等,有面向对象的基础,再熟悉LVOOP的实现方式,就能够更方便的学习和使用。编程的生产效率还是能够有很大的提高。
因此,这就导致了LVOOP学习曲线非常陡峭。
另外,很多使用者,仅仅是编写简单的应用程序,使用QMH、QDSM等简单的架构,就可以满足大部分的需求,学习LAbVIEW面向对象编程,变得不是那么重要。
即,当在编写中小型项目程序时,面向对象编程并不能体现其优势。在最初的设计时,有时还要比面向过程的设计方式慢一些。
但是,在中大型系统的程序开发中,随着功能复杂度的增加,面向对象的优势会越来越明显。
所以,是否学习LabVIEW的面向对象编程,就有了不同的观点。
最终,还是要取决于个人的项目实际应用需求。
LabVIEW面向对象的ActorFramework(2)的更多相关文章
- LabVIEW面向对象的ActorFramework(3)
四.LabVIEW面向对象的编程架构:Actor Framework Actor Framework是一个软件类库,用以支持编写有多个VI独立运行且相互间可通信的应用程序,在该类型应用程序中,每个VI ...
- LabVIEW面向对象的ActorFramework(1)
本系列文章主要阐述以下几个问题: (1)什么是面向对象编程? (2)为什么要学习面向编程? (3)LabVIEW面向编程学习为什么有点难? (4)LabVIEW面向对象的编程架构:Actor Fram ...
- 用C++写程序的一些感悟
前言 近期使用C++有了一些心得很感悟,这里整理一下. 心得1 如果只会使用LabVIEW写程序,还想要进一步深入程序设计,一定要学习一门文本语言. 什么是会用LabVIEW 会用是个比较笼统的概念. ...
- [LabVIEW架构]ActorFramework(一)
前言 小黑结婚回来第二周了,每天忙于程序设计,时间比较紧张,所以文章一直没出来,也算憋大招了. 近期小黑将与大家一起认识一下ActorFramework,既是对自己一段时间写AF程序的总结,也是梳理, ...
- [LabVIEW架构]ActorFramework(二)
前言 在上一个文章中,我们介绍了一下LabVIEW中AF的基本概念,本讲将以上一次的例子来讲解LabVIEW中的实现 正文 范例说明 假定两个人,一个作为老师,一个作为学生.学生每天早上给老师发送一封 ...
- 【LabVIEW技巧】LabVIEW OOP怎么学
前言 有很多人对LabVIEW OOP存在比较极端的看法,大致分为两类: 1. 绝对否定派认为LabVIEW OOP只不过是LabVIEW为了追求时髦,在面向过程的基础上用簇做了一些特性,实际上完全不 ...
- ActorFramework教程对比及规划
牢骚太盛防肠断,风物长宜放眼量. 一.引子 昨天的文章,本来就是想写写ActorFramework的教程内容,结果写着写着偏了,变成了吐槽. 首先,声明一下,自己从未参加过任何LabVIEW培训班,也 ...
- 有哪些LabVIEW快捷键让你相见恨晚
前言 任何一门工具,当你使用它到极致的时候,往往都朝着这样子的两个方向发展 1. 具有鼠标操作功能的软件,他的使用的极致就是脱离鼠标,迈向键盘 2. 主要是键盘操作的,他的极致就是脚本自动化,或者说一 ...
- LabVIEW类方法浏览器-Class Method Browser
随着LabVIEW的类编程应用增多,当打开较多的VI进行编辑时候,添加该类对应的VI方法到程序后背板上操作显得繁琐(需要在Project浏览器或类浏览器或库浏览器中找到该类的方法VI,然后再拖到程序背 ...
随机推荐
- Java基础知识笔记第五章:子类与继承
子类与父类 子类 class 子类名 extends 父类名{ ....... } 类的树形结构 子类的继承性 子类和父类在同一包中的继承性 子类继承了父类不是private的成员属性和成员方法 ...
- IDEA快捷键/本文仅供自己参考使用如有侵权立删
好好来学习学习IDEA这款神器,让你的效率飞起!视频来自慕课网 本文转载 更多技巧 代码定位 跳转: 1.IDEA的左侧侧边栏有1:Project.7:Structure和2:Favorities a ...
- 14 JavaScript Window对象
Window对象表示一个浏览器窗口或者一个框架. 在客户端JavaScript中,window对象是全局对象,所有的表达式都在当前的环境中计算. Window对象的子对象: JavaScript do ...
- HDU1176免费馅饼(DP)
都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内.馅饼如果掉在了地上当然就 ...
- SpringMvc 返回json的三种方式
参考:https://blog.csdn.net/fupengyao/article/details/62220886
- Microsoft Cortana移动版除美国市场外不再可用
导读 先前已经透露,Microsoft Cortana的移动版本已不复存在.目前,Microsoft Cortana在移动设备上的多个国家和地区中支持多种语言.微软的Cortana移动版本不再支持的市 ...
- k短路算法
k短路算法 求解k短路用到了A* 算法,A* ( A star )算法,又称启发式搜索算法,与之相对的,dfs与bfs都成为盲目型搜索:即为带有估价函数的优先队列BFS称为A*算法. 该算法的核心思想 ...
- js中数值各进制之间的转换
十进制转换为二进制 toString()方法可把一个 Number 对象转换为一个字符串,并返回结果.语法如下: NumberObject.toString(radix); 其中,radix为可选.规 ...
- macOS 微信多开插件
macOS版本微信默认只能开一个,安装 WeChatTweak-macOS 插件即可实现多开. 效果图 安装步骤打开终端输入一下命令: git clone https://github.com/Sun ...
- Android 获取当前日期距离过期时间的日期差值的完整方法直接使用
/*** * 获取当前日期距离过期时间的日期差值 * @param endTime * @return */public String dateDiff(String endTime) { Strin ...