While I haven't used GOOP yet, I am developing my own GOOP for use
in my applications. I've read through the documentation for GOOP, and
some of the concepts between GOOP and my GOOP are similar.
The object handle (pointer) concept in GOOP is very powerful.
Being able to refer to a group of VIs contained within the object by a
single handle variable greatly reduces program complexity. One can build
arrays of object handles, allowing very easy handling of multiple
instances of the object. If applications are properly written, adding
additional objects is very trivial, and can be done at run-time. This
provides the user with greater flexibility, without any additional
development time.
In addition, data handling becomes much easier. Instead of having
to build arrays (or worse, global variable arrays) to keep track of data,
one can access all of the data simply through the object handle.
Some additional functionality would greatly add to GOOP's utility.
One thing I don't like is that each type of GOOP object is different from
the others. IE, GOOP object "A" will have certain methods and properties,
while GOOP object "B" will have completely different methods and
properties. My version of GOOP will provide a common interface for all
objects. When the object is initialized, the return information includes
a list of all available methods and properties. This provides a seamless
way to allow the user to select the available methods and properties
without writing custom code for each object.
Andy
Spencer (sw_anderson@my-deja.com) wrote:
: I have been programming LabVIEW for about a year, and am starting to
: get to the point where my programs are complex enough that I can get
: myself in some real trouble and create some real hairy looking programs
: if I'm not careful. So I've been trying to read up more on methods of
: maintaining order and structure to my programs. In doing so I came
: across the Graphical Object-Oriented Programming application note, and
: then the software download. It seems to add structure, but I don't
: like to use wizards to create stuff, they never seem to be an exact fit
: for what I'm doing. It seems to be a pretty big departure from what
: I'm doing, with a learning curve that could take a little while. I can
: do the class and object thing in C++ without much trouble.
: So, has anybody out there tried implementing it? Is everybody doing it
: and I just didn't know about it until now? Is it worth it? I'd be
: interested in answers. Any GOOP believers out there that wouldn't mind
: sharing some example code so I can see some implementation?
: If you don't GOOP (or if you do), how do you handle programs that allow
: the user to make a lot of decisions (many buttons, controls, etc.)? My
: diagrams get so full of case statements and wires that it gets jumbled
: in a hurry. If you can share any examples you are proud of, I'd love
: to see some of the better more elegant implementations.
: Thanks
: Spencer
: spencerwa@hotmail.com
: Sent via Deja.com http://www.deja.com/
: Before you buy.
--
Andy Steinbach
stei0113@tc.umn.edu