LabVIEW Object-Oriented Design Patterns


Object-oriented programming in LabVIEW (aka LVOOP) has become a very popular solution for complex applications that need elegant and scalable architectures.  For those of you who are new to object-orientation, I would highly recommend the new NI Customer Education class, Object-Oriented Design and Programming in LabVIEW (which just became available in 2011).  You might also check out an old blog entry I wrote to provide a very basic overview of how classes can be used, When Should You Use LabVIEW Classes?

For those of you who are either familiar with text-based design patterns, or who are familiar with LVOOP and interested in getting your hands on more sophisticated examples, I want to highlight and promote some new examples that have been posted to this Large Application community.  Aristos Queue wrote an early draft of this document, Applying Common OO Design Patterns to LabVIEW, which has since been expanded on and added to with the help of individuals from the systems engineering group at NI.  The design patterns in this book are largely adapted from the examples put together by The-Gang-of-Four in 1995, which wrote ‘Design Patterns by Gamma, Helm, Johnson and Vlissides.’

As of 1/7/11 we have posted ten different examples that you can download and begin using.  Each of the documents carefully explains when and when you’d want to use one of the patterns.  If you’re interested, please review the examples and let us know what you think and if you have any questions or ideas.  I’d also like to put a challenge out the community to post alternative examples and even add new patterns from the original 1995 text.

Happy new year fellow wire-workers!

Eli

PS: We are also working on codifying examples of hardware abstraction layers (HALs) built on LabVIEW classes.  More on that soon.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s