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,然后再拖到程序背 ...
随机推荐
- UDP通讯代码
UDP客户端代码: import socket # 创建套接字 socket.AF_INET:IPV4 socket.SOCK_DGRAM:UDP协议 udp_client=socket.socket ...
- Airless Pump Bottle For The Rise Of Cosmetic Packaging Solutions
Airless Pump Bottle are used in the rise of cosmetic packaging solutions. According to the suppli ...
- 创业复盘实战营总结----HHR计划----创业课
一句话总结课程核心点. 一共4节在线课: 第一节课:<创业学习> 投资人最看重的是CEO的快速学习能力,根据IPO思维模型,如果一共CEO每天input大量的信息,高效的process,而 ...
- 重新理解《务实创业》---HHR计划--以太一堂第三课
第一节:开始学习 1,面对创业和融资,我们应该如何从底层,理解他们的本质呢?(实事求是) 2,假设你现在要出来融资,通常你需要告诉投资人三件事:我的市场空间很大,我的用户需求很疼,我的商业模式能跑通. ...
- mybatis 查询标签
语法 参考:http://www.mybatis.org/mybatis-3/zh/dynamic-sql.html <![CDATA[内容]]>: 参考: http://blog.csd ...
- Codeforces 601A:The Two Routes 宽搜最短路径
A. The Two Routes time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...
- PHP开发者该知道的5个Composer小技巧
Composer 是新一代的PHP依赖管理工具.本文介绍使用Composer的五个小技巧,希望能给你的PHP开发带来方便. 1. 仅更新单个库 只想更新某个特定的库,不想更新它的所有依赖,很简单 co ...
- sklearn实现决策树算法
1.决策树算法是一种非参数的决策算法,它根据数据的不同特征进行多层次的分类和判断,最终决策出所需要预测的结果.它既可以解决分类算法,也可以解决回归问题,具有很好的解释能力.另外,对于决策树的构建方法具 ...
- Law of large numbers and Central limit theorem
大数定律 Law of large numbers (LLN) 虽然名字是 Law,但其实是严格证明过的 Theorem weak law of large number (Khinchin's la ...
- 吴裕雄--天生自然HADOOP操作实验学习笔记:Wor的Count程序的编写
实验目的 理解mapreduce的工作原理 理解Partitioner的书写方法 理解GroupingComparator的书写方法 实验原理 我们已经学习了hadoop的大部分基础知识,剩下的就是利 ...