labview应用实例_LabVIEW面向对象编程_初窥门径(4):对象创建及插件(Plug-in)结构...

本文介绍了LabVIEW中面向对象编程的实例化过程,强调了对象创建视角和使用视角的区别,探讨了如何通过插件结构实现动态扩展性。通过具体的测试操作类和测量抽象层(MAL),展示了如何实现测量标准设备的替换,并讨论了LabVIEW在大型软件工程化方面的挑战,提出了当前解决方案的优缺点以及未来可能的发展方向。
摘要由CSDN通过智能技术生成

d3276ddc99adb4190365840ad7e1fefa.png

前篇文章,我们完成了概念抽象面向对象设计(Object-Oriented Design)后形成的不同类族(类层次),而在实际使用中,我们必然要将抽象类由具体类来实例化来取代完成细节内容的操作。因此,创建(实例化)具体类就是面向对象技术中必不可少的重要一环。

而面向过程程序中,我们直接开发依赖于具体的细节代码,因此也就不存在实例化概念的需求;而面向对象编程让我们仅仅引用对象的抽象意义,而不必考虑它的具体类型,也就是说在任何时候我们用到对象,都应该隐藏(封装)它涉及的具体实现,更进一步的讲,我们还要隐藏(封装)它涉及的具体类型,从而达到更好的替代扩展性,这也就引出了对象的使用视角和创建视角。

57d2fa0e8ff3aac97d12511436f9be93.png

创建视角,我们要根据某些条件、策略来实现具体的某种特定类型的创建,并通过客户代码的属性设置(Setter)将特定类型注入到概念角色类中。并且往往是一组同类型的具体体实现同样的职能,因此往往配合的插件结构予以提供必要的扩展性。

使用视角,在使用时,我们应用依赖抽象的DIP原则,使用的都是抽象的类型和公共的接口方法,从而使得高层模块间的策略得到复用,从而达到框架复用的核心,实现代码的规模经济效益。

因此,创建视角和使用视角是两个不同变化的维度,当客户代码中使用和创建一起使用时,当某一个维度发生变化时,必然引起客户代码的修改,也就违反了面向对象设计原则中(SRP)单一职责原则。这一点我们在上篇博文中设计指标类(Specification.lvclas

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值