Jump to content

GOOP - Graphical Object Oriented Programming: Difference between revisions

From LabVIEW Wiki
m added a description of GOOP with respect to its features
m External Links: Add GOOP Course Material
 
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== GOOP - Graphical Object Oriented Programming ==
== GOOP - Graphical Object Oriented Programming ==


GOOP stands for Graphical Object Oriented Programming. It is a category of frameworks for non-native object-oriented programming in LabVIEW that support by reference objects with VI methods for operating on data. Some versions of GOOP support inheritance and dynamic dispatch. GOOP really hit mainstream with the release of the [http://zone.ni.com/devzone/cda/tut/p/id/3391#3 GOOP Toolkit] from [http://www.endevo.se/ Endevo] and [http://www.ni.com/ National Instruments]. OpenG even has its own version of GOOP, called [[OpenGOOP]].
GOOP stands for Graphical Object Oriented Programming. It is a category of frameworks for non-native object-oriented programming in LabVIEW that support by reference objects with VI methods for operating on data. Some versions of GOOP support inheritance and dynamic dispatch. GOOP really hit mainstream with the release of the [http://zone.ni.com/devzone/cda/tut/p/id/3391#3 GOOP Toolkit] from [http://www.endevo.se/ Endevo] and [[National Instruments]]. OpenG even has its own version of GOOP, called [[OpenGOOP]].  


GOOP is great because it allows you to build components that encapsulate their data, functionality, and behavior. Why ecapsulate?...
With LVOOP and queues, it is very easy to create basic GOOP functionality. Examples are included in the example folder installed with LabVIEW.  


=== Benefits of Encapsulation ===
GOOP is great because it allows you to build components that encapsulate their data, functionality, and behavior. Why ecapsulate?...


* Maintainable
=== Benefits of Encapsulation  ===
* Scalable
 
* Useable (and therefore Reusable)
*Maintainable  
* Testable
*Scalable  
* Enable Multiple Developer Collaboration  
*Useable (and therefore Reusable)  
*Testable  
*Enable Multiple Developer Collaboration
 
=== See Also  ===


=== See Also ===
{{Portal|GOOP}}
{{Portal|GOOP}}
* [[OpenGOOP]]
 
* [[GOOP_History_by_Mattias_Ericsson]]
*[[DqGOOP]]
[[Category:GOOP]]
*[[GOOP History by Mattias Ericsson]]
*[[OpenGOOP]]


=== External Links ===
=== External Links ===


* [http://zone.ni.com/devzone/conceptd.nsf/appnotebynumber/1A7B60096CE0CDA986256A9A0074E4EC?OpenDocument&node=dz52000_us App Note 143] – Graphical Object Oriented Programming (Jorgen Jehander)
*[http://www.gangoflabview.ch Gang of LabVIEW] - GOOP by Reference LabVIEW OOP
* [http://zone.ni.com/devzone/devzoneweb.nsf/Opendoc?openagent&958B0EEC7BE032B986256863000A6B64 Graphical Object-Oriented Programming with LabVIEW] – NI Week 1999 Presentation by Jörgen Jehander and Stepan Riha
*[http://zone.ni.com/devzone/conceptd.nsf/appnotebynumber/1A7B60096CE0CDA986256A9A0074E4EC?OpenDocument&node=dz52000_us App Note 143] – Graphical Object Oriented Programming (Jorgen Jehander)
* [http://zone.ni.com/devzone/conceptd.nsf/2d17d611efb58b22862567a9006ffe76/5d7db42c91f392fc86256aae00463d78?OpenDocument#3Download Download GOOP Toolkits] from NI
*[http://zone.ni.com/devzone/devzoneweb.nsf/Opendoc?openagent&958B0EEC7BE032B986256863000A6B64 Graphical Object-Oriented Programming with LabVIEW] – NI Week 1999 Presentation by Jörgen Jehander and Stepan Riha
* [http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=B45EACE3EB6B56A4E034080020E74861&p_node=DZ52067&p_source=external Object-Oriented Techniques in LabVIEW] – Pure G examples from LV 4.1
*[http://zone.ni.com/devzone/conceptd.nsf/2d17d611efb58b22862567a9006ffe76/5d7db42c91f392fc86256aae00463d78?OpenDocument#3Download Download GOOP Toolkits] from NI
* [http://www.endevo.se/ Endevo] - the company that supports/develops the GOOP Toolkit
*[http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=B45EACE3EB6B56A4E034080020E74861&p_node=DZ52067&p_source=external Object-Oriented Techniques in LabVIEW] – Pure G examples from LV 4.1
* GOOP/G++ - Robert Burke's Web Page
*[http://www.endevo.se/ Endevo] - the company that supports/develops the GOOP Toolkit
*GOOP/G++ - Robert Burke's Web Page
*[https://forums.ni.com/t5/GDS-Goop-Development-Suite/GOOP-Course-Material/m-p/4101113/highlight/true#M445 GOOP Course Material] - GOOP training material with Exercises and Solutions
 
[[Category:GOOP]]

Latest revision as of 10:46, 22 November 2020

GOOP - Graphical Object Oriented Programming

GOOP stands for Graphical Object Oriented Programming. It is a category of frameworks for non-native object-oriented programming in LabVIEW that support by reference objects with VI methods for operating on data. Some versions of GOOP support inheritance and dynamic dispatch. GOOP really hit mainstream with the release of the GOOP Toolkit from Endevo and National Instruments. OpenG even has its own version of GOOP, called OpenGOOP.

With LVOOP and queues, it is very easy to create basic GOOP functionality. Examples are included in the example folder installed with LabVIEW.

GOOP is great because it allows you to build components that encapsulate their data, functionality, and behavior. Why ecapsulate?...

Benefits of Encapsulation

  • Maintainable
  • Scalable
  • Useable (and therefore Reusable)
  • Testable
  • Enable Multiple Developer Collaboration

See Also

External Links