二、为什么要学习面向编程?

面向对象编程,如果将上文推荐的两本书读完后,基本上也就有了答案。从自我产品开发的经验中,理解为可以迅速解决中大型程序需求变化时,在不影响其他程序功能的情况下,能够实现新增功能的快速迭代,方便程序的扩展和可维护。

在NI公司的文档描述中,对于ActorFramework框架优势描述如下:

  • 具备QDSM 设计的所有优势
  • 灵活性显著提高
  • 更多的重复使用VI
  • 降低不同模块之间的耦合性

如果用一句话概括,就是提高编程的生产效率。

三、LabVIEW面向编程学习为什么有点难?

面向对象编程在文本语言开发环境内是一致看好的编程方式,但是在LabVIEW编程环境下,对于实现面向对象编程,却是有点褒贬不一。

为什么会这样?我个人的理解如下:

大部分LabVIEW的学习和使用者,大都非计算机编程专业人员,这点很关键。即,LabVIEW的使用者,并不能对编程有较深的理解,仅仅是通过简单代码范例的学习,完成自己领域内试验原型的验证工作。使用者也许是物理、通信、热能、自动化、电气等领域的研发、测试或者应用开发人员。使用面向过程的编程方式,是其所熟知并符合逻辑分析流程的思维方式。

而从LabVIEW本身的描述,也说明了这一点。阐述如下:

“LabVIEW软件是NI设计平台的核心,也是开发测量或控制系统的理想选择。 LabVIEW开发环境集成了工程师和科学家快速构建各种应用所需的所有工具,旨在帮助工程师和科学家解决问题、提高生产力和不断创新。”

而面向对象的编程思想,在文本语言的开发环境下,能够相对容易理解,而对于图像化语言,本身就是基于流程化的编程表达方式,对于描述并使用面向对象编程方式,还是有些困难的。

所以,如果学会一门文本语言,如JAVA、C#等,有面向对象的基础,再熟悉LVOOP的实现方式,就能够更方便的学习和使用。编程的生产效率还是能够有很大的提高。

因此,这就导致了LVOOP学习曲线非常陡峭。

另外,很多使用者,仅仅是编写简单的应用程序,使用QMH、QDSM等简单的架构,就可以满足大部分的需求,学习LAbVIEW面向对象编程,变得不是那么重要。

即,当在编写中小型项目程序时,面向对象编程并不能体现其优势。在最初的设计时,有时还要比面向过程的设计方式慢一些。

但是,在中大型系统的程序开发中,随着功能复杂度的增加,面向对象的优势会越来越明显。

所以,是否学习LabVIEW的面向对象编程,就有了不同的观点。

最终,还是要取决于个人的项目实际应用需求。

LabVIEW面向对象的ActorFramework(2)的更多相关文章

  1. LabVIEW面向对象的ActorFramework(3)

    四.LabVIEW面向对象的编程架构:Actor Framework Actor Framework是一个软件类库,用以支持编写有多个VI独立运行且相互间可通信的应用程序,在该类型应用程序中,每个VI ...

  2. LabVIEW面向对象的ActorFramework(1)

    本系列文章主要阐述以下几个问题: (1)什么是面向对象编程? (2)为什么要学习面向编程? (3)LabVIEW面向编程学习为什么有点难? (4)LabVIEW面向对象的编程架构:Actor Fram ...

  3. 用C++写程序的一些感悟

    前言 近期使用C++有了一些心得很感悟,这里整理一下. 心得1 如果只会使用LabVIEW写程序,还想要进一步深入程序设计,一定要学习一门文本语言. 什么是会用LabVIEW 会用是个比较笼统的概念. ...

  4. [LabVIEW架构]ActorFramework(一)

    前言 小黑结婚回来第二周了,每天忙于程序设计,时间比较紧张,所以文章一直没出来,也算憋大招了. 近期小黑将与大家一起认识一下ActorFramework,既是对自己一段时间写AF程序的总结,也是梳理, ...

  5. [LabVIEW架构]ActorFramework(二)

    前言 在上一个文章中,我们介绍了一下LabVIEW中AF的基本概念,本讲将以上一次的例子来讲解LabVIEW中的实现 正文 范例说明 假定两个人,一个作为老师,一个作为学生.学生每天早上给老师发送一封 ...

  6. 【LabVIEW技巧】LabVIEW OOP怎么学

    前言 有很多人对LabVIEW OOP存在比较极端的看法,大致分为两类: 1. 绝对否定派认为LabVIEW OOP只不过是LabVIEW为了追求时髦,在面向过程的基础上用簇做了一些特性,实际上完全不 ...

  7. ActorFramework教程对比及规划

    牢骚太盛防肠断,风物长宜放眼量. 一.引子 昨天的文章,本来就是想写写ActorFramework的教程内容,结果写着写着偏了,变成了吐槽. 首先,声明一下,自己从未参加过任何LabVIEW培训班,也 ...

  8. 有哪些LabVIEW快捷键让你相见恨晚

    前言 任何一门工具,当你使用它到极致的时候,往往都朝着这样子的两个方向发展 1. 具有鼠标操作功能的软件,他的使用的极致就是脱离鼠标,迈向键盘 2. 主要是键盘操作的,他的极致就是脚本自动化,或者说一 ...

  9. LabVIEW类方法浏览器-Class Method Browser

    随着LabVIEW的类编程应用增多,当打开较多的VI进行编辑时候,添加该类对应的VI方法到程序后背板上操作显得繁琐(需要在Project浏览器或类浏览器或库浏览器中找到该类的方法VI,然后再拖到程序背 ...

随机推荐

  1. Java基础知识笔记第五章:子类与继承

    子类与父类 子类 class 子类名 extends 父类名{ ....... } 类的树形结构 子类的继承性 子类和父类在同一包中的继承性 子类继承了父类不是private的成员属性和成员方法   ...

  2. IDEA快捷键/本文仅供自己参考使用如有侵权立删

    好好来学习学习IDEA这款神器,让你的效率飞起!视频来自慕课网 本文转载 更多技巧 代码定位 跳转: 1.IDEA的左侧侧边栏有1:Project.7:Structure和2:Favorities a ...

  3. 14 JavaScript Window对象

    Window对象表示一个浏览器窗口或者一个框架. 在客户端JavaScript中,window对象是全局对象,所有的表达式都在当前的环境中计算. Window对象的子对象: JavaScript do ...

  4. HDU1176免费馅饼(DP)

    都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内.馅饼如果掉在了地上当然就 ...

  5. SpringMvc 返回json的三种方式

    参考:https://blog.csdn.net/fupengyao/article/details/62220886

  6. Microsoft Cortana移动版除美国市场外不再可用

    导读 先前已经透露,Microsoft Cortana的移动版本已不复存在.目前,Microsoft Cortana在移动设备上的多个国家和地区中支持多种语言.微软的Cortana移动版本不再支持的市 ...

  7. k短路算法

    k短路算法 求解k短路用到了A* 算法,A* ( A star )算法,又称启发式搜索算法,与之相对的,dfs与bfs都成为盲目型搜索:即为带有估价函数的优先队列BFS称为A*算法. 该算法的核心思想 ...

  8. js中数值各进制之间的转换

    十进制转换为二进制 toString()方法可把一个 Number 对象转换为一个字符串,并返回结果.语法如下: NumberObject.toString(radix); 其中,radix为可选.规 ...

  9. macOS 微信多开插件

    macOS版本微信默认只能开一个,安装 WeChatTweak-macOS 插件即可实现多开. 效果图 安装步骤打开终端输入一下命令: git clone https://github.com/Sun ...

  10. Android 获取当前日期距离过期时间的日期差值的完整方法直接使用

    /*** * 获取当前日期距离过期时间的日期差值 * @param endTime * @return */public String dateDiff(String endTime) { Strin ...