两种方法的比较
发布时间:2014/6/26 22:36:42 访问次数:643
容易看出,GRM0332C1H221GA01面向对象的编程方法与面向过程的编程方法中程序对每个板卡执行相同的操作(检查图像、创建测试名称等),然而打开Check Image Matches Design.vi的程序框图,会发现它与面向过程的编程方法有很大的不同。在这里不是一块一块的检查特定位置的颜色,而是建立一个板卡组件的对象表,然后对每个组件调用自检测( Self Test)方法,如图6-21所示。面向对象的编程方法与面向过程的方法在分解问题时采用不同的形式。
在项目管理器中打开Object-Oriented Solution\Classes文件夹,可以看出面向对象的编程方法比面向过程的编程方法使用更多的子VI。
在面向对象的程序系统中每个VI承担一个非常单一的任务,因此与面向过程的编程方法相比每个VI都很小,VI的数量很多。
当我们初次编写一个程序的代码时,面向对象编程的优势也许并不能完全体现出来但是让我们更多的考虑一下系统维护的需求。
我们已经知道3个板左侧一列都有3个蓝色块,并且顶行都有一个紫色条。在面向过程的编程方法中,3种板卡都采用了同一个子VI测试这4个组件。这里共享了一个通用予VI的代码。但是有些信息在图像中并没有得到显示,例如在图6-22中标记“l”的是A/D转换芯片,而标记“2”的是D/A转换芯片。
这里碰巧A/D和D/A芯片外观相同,因此3种卡的这部分看上去相同,其实GPIB板卡与其他两个DAQ板卡是完全不同的。
假设元器件供应商将A/D芯片的颜色改为红色,对比一下两种编程方法各自是如何修改程序的。
(1)面向过程的方法:
①复制Test_Common To All Boards.vi,这是目前3种板卡测试公用的一个VI,修改Test_Common To All Boards.vi的一个副本以适应新的颜色。
②查找所有子VI中使用蓝色的位置,确定是否改为红色(若此位置为A/D芯片即改为红色)。
(2)面向对象的方法:
只需在AD Converter.lvclass::Self Test.vi中将颜色常数改为红色。由于修改量极小,因此面向对象的编程方法修改程序更快,同时也大大减少了修改时出错的可能。
还有其他一些情况:
(1)如果公司生产了一种新的板卡,面向对象酌编程方法更容易把新的板卡添加到测试系统。
(2)如果公司改变了板卡的设计,例如旋转了一个组件,在面向对象的系统中,由于把组件作为一个对象,所以它本身就是支持旋转的。
结论:
(1)采用面向过程的编程方法时,如果从任务的角度看某些问题相同,就在解决这些问题的地方共享代码;采用面向对象的编程方法时,当任务中的对象相同时就可以共享代码。这样分解组件使得组件改变时代码更新非常容易。组件的行为独立于系统其他部分。
(2)总体来说,在应用程序的第一版,面向对象编程并不总是能显示出全部优势,但是随着程序版本的更新,面向对象编程的代码更易维护,代码容易修改且修改时不易出错,优势会逐渐体现出来。
容易看出,GRM0332C1H221GA01面向对象的编程方法与面向过程的编程方法中程序对每个板卡执行相同的操作(检查图像、创建测试名称等),然而打开Check Image Matches Design.vi的程序框图,会发现它与面向过程的编程方法有很大的不同。在这里不是一块一块的检查特定位置的颜色,而是建立一个板卡组件的对象表,然后对每个组件调用自检测( Self Test)方法,如图6-21所示。面向对象的编程方法与面向过程的方法在分解问题时采用不同的形式。
在项目管理器中打开Object-Oriented Solution\Classes文件夹,可以看出面向对象的编程方法比面向过程的编程方法使用更多的子VI。
在面向对象的程序系统中每个VI承担一个非常单一的任务,因此与面向过程的编程方法相比每个VI都很小,VI的数量很多。
当我们初次编写一个程序的代码时,面向对象编程的优势也许并不能完全体现出来但是让我们更多的考虑一下系统维护的需求。
我们已经知道3个板左侧一列都有3个蓝色块,并且顶行都有一个紫色条。在面向过程的编程方法中,3种板卡都采用了同一个子VI测试这4个组件。这里共享了一个通用予VI的代码。但是有些信息在图像中并没有得到显示,例如在图6-22中标记“l”的是A/D转换芯片,而标记“2”的是D/A转换芯片。
这里碰巧A/D和D/A芯片外观相同,因此3种卡的这部分看上去相同,其实GPIB板卡与其他两个DAQ板卡是完全不同的。
假设元器件供应商将A/D芯片的颜色改为红色,对比一下两种编程方法各自是如何修改程序的。
(1)面向过程的方法:
①复制Test_Common To All Boards.vi,这是目前3种板卡测试公用的一个VI,修改Test_Common To All Boards.vi的一个副本以适应新的颜色。
②查找所有子VI中使用蓝色的位置,确定是否改为红色(若此位置为A/D芯片即改为红色)。
(2)面向对象的方法:
只需在AD Converter.lvclass::Self Test.vi中将颜色常数改为红色。由于修改量极小,因此面向对象的编程方法修改程序更快,同时也大大减少了修改时出错的可能。
还有其他一些情况:
(1)如果公司生产了一种新的板卡,面向对象酌编程方法更容易把新的板卡添加到测试系统。
(2)如果公司改变了板卡的设计,例如旋转了一个组件,在面向对象的系统中,由于把组件作为一个对象,所以它本身就是支持旋转的。
结论:
(1)采用面向过程的编程方法时,如果从任务的角度看某些问题相同,就在解决这些问题的地方共享代码;采用面向对象的编程方法时,当任务中的对象相同时就可以共享代码。这样分解组件使得组件改变时代码更新非常容易。组件的行为独立于系统其他部分。
(2)总体来说,在应用程序的第一版,面向对象编程并不总是能显示出全部优势,但是随着程序版本的更新,面向对象编程的代码更易维护,代码容易修改且修改时不易出错,优势会逐渐体现出来。
上一篇:面向对象的方法
上一篇:传统DAQ的模拟信号采集
热门点击
- 访问片外ROM/RAM的指令时序
- 触发( TRIG)
- SD卡的速度等级
- 堆栈指针SP( Stack Pointor)
- 16位特殊功能寄存器sfr16
- “黑焊盘”现象的产生原因
- “VISA读取”函数酌主要参数及功能
- 项目依赖关系
- 通知器和队列
- I/O端口
推荐技术资料
- DS2202型示波器试用
- 说起数字示波器,普源算是国内的老牌子了,FQP8N60... [详细]