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

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

在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. UDP通讯代码

    UDP客户端代码: import socket # 创建套接字 socket.AF_INET:IPV4 socket.SOCK_DGRAM:UDP协议 udp_client=socket.socket ...

  2. Redis数据库在windows系统下的安装及使用

    1.下载 Redis官方是不支持windows的,但是Microsoft Open Tech group 在 GitHub上开发了一个Win64的版本,下载地址:https://github.com/ ...

  3. Netsparker破解版5.3 Netsparker Enterprise 5.3.0.24388[cracked]

    Netsparker破解版5.3 Netsparker Enterprise 5.3.0.24388[cracked]该版本更新时间为2019年7月8日下载地址:1 https://www.dr-fa ...

  4. tensorflow版helloworld---拟合线性函数的k和b(02-4)

    给不明白深度学习能干什么的同学,感受下深度学习的power import tensorflow as tf import numpy as np #使用numpy生成100个随机点 x_data=np ...

  5. MIT宣布人工智能独立设系!

    导读 MIT宣布人工智能独立设系!AI与电子工程.计算机科学系将三分天下? MIT 电子工程和计算机科学系(EECS)拆分啦.拆分后分为 3 个学科群(faculty),或者说 3 个系:电子工程(E ...

  6. ARM CORTEX-M3 内核架构理解归纳

    ARM CORTEX-M3 内核架构理解归纳 来源:网络 个人觉得对CM3架构归纳的非常不错,因此转载 基于<ARM-CORTEX M3 权威指南>做学习总结: 在我看来,Cotex-M3 ...

  7. Linux 允许root用户远程登陆

    首先确保ssh服务已经安装: ps -e | grep ssh or service ssh start 如果没有安装则: apt-get install ssh 安装完之后 查看 /etc/ssh/ ...

  8. 问题解决 : MyBatis一对一查询时,打印结果只有一条数据

    问题截图:修改后,结果返回条数正确 问题解决: 因为有重名的列,建议起个别名

  9. windows XAMPP下安装mongoDB

    1.下载 下载地址:http://www.mongodb.org/downloads 2.安装 进入cmd第一步:D:\xampp\mongodb\bin\mongod.exe --dbpath=D: ...

  10. ws2_32.dll的妙用与删除 (禁网)

    ws2_32.dll是Windows Sockets应用程序接口,用于支持Internet和网络应用程序.程序运行时会自动调用ws2_32.dll文件,ws2_32.dll是个动态链接库文件位于系统文 ...