<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://labviewwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Acaracciolo</id>
	<title>LabVIEW Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://labviewwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Acaracciolo"/>
	<link rel="alternate" type="text/html" href="https://labviewwiki.org/wiki/Special:Contributions/Acaracciolo"/>
	<updated>2026-05-08T16:32:36Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Design_pattern&amp;diff=35456</id>
		<title>Design pattern</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Design_pattern&amp;diff=35456"/>
		<updated>2025-01-09T17:01:25Z</updated>

		<summary type="html">&lt;p&gt;Acaracciolo: add an article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCnestright}}&lt;br /&gt;
A &#039;&#039;&#039;design pattern&#039;&#039;&#039;, also know as a software design pattern, is a reusable solution to a software engineering problem.  Design patterns give the developer a starting point and can help improve efficiency, readability, scalability, and maintainability.  Using a design pattern can help you easily expand your application and reuse your own development efforts when you want to add new features.  Once you create a good architecture for your company, you can create templates that you and others can reuse for future projects.  &lt;br /&gt;
&lt;br /&gt;
Described below some useful design patterns that a developer can use in their application architecture. By no means is this a comprehensive list, and no one architecture should be considered as the &amp;quot;best&amp;quot;, however it may be helpful to start with one of these design patterns, or variations on them.  A good architecture is one that fits best for the application and can be a combination of the design patterns below.&amp;lt;ref&amp;gt;&amp;quot;Scalable Design Patterns in LabVIEW&amp;quot; by David Ladolcetta (https://forums.ni.com/t5/Developer-Center-Resources/Scalable-Design-Patterns-in-LabVIEW/ta-p/3534309)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Basic Design Patterns ==&lt;br /&gt;
&lt;br /&gt;
=== State Machine ===&lt;br /&gt;
See more on the [[State Machine|State Machine Design Pattern]].&lt;br /&gt;
&lt;br /&gt;
=== Event Handler ===&lt;br /&gt;
See more on the [[Event Handler|Event Handler Design Pattern]].&lt;br /&gt;
&lt;br /&gt;
=== Master/Slave ===&lt;br /&gt;
See more on the [[Master/Slave|Master/Slave Design Pattern]].&lt;br /&gt;
&lt;br /&gt;
=== Producer/Consumer ===&lt;br /&gt;
See more on the [[ Producer/Consumer|Producer/Consumer Design Pattern]].&lt;br /&gt;
&lt;br /&gt;
== Intermediate Design Patterns ==&lt;br /&gt;
&lt;br /&gt;
=== Queued Message Handler (QMH) ===&lt;br /&gt;
See more on the [[Queued Message Handler|Queued Message Handler (QMH) Design Pattern]].&lt;br /&gt;
&lt;br /&gt;
=== Queued State Machine (QSM) ===&lt;br /&gt;
See more on the [[Queued State Machine|Queued State Machine (QSH) Design Pattern]].&lt;br /&gt;
&lt;br /&gt;
=== Action Engine (AE) ===&lt;br /&gt;
See more on the [[Functional global variable|Action Engine (AE) Design Pattern]] a.k.a. [[Functional global variable]].&lt;br /&gt;
&lt;br /&gt;
== Advanced Design Patterns ==&lt;br /&gt;
&lt;br /&gt;
=== Object-Oriented Design Patterns ===&lt;br /&gt;
See more on [[Object-Oriented Design Patterns]].&lt;br /&gt;
&lt;br /&gt;
=== Actor Oriented Design ===&lt;br /&gt;
See more on the [[Actor Oriented Design Patterns]].&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
*[https://www.ieee.li/pdf/viewgraphs/labview_design_patterns.pdf LabVIEW Design Patterns Presentation]  by National Instruments&lt;br /&gt;
*[https://youtu.be/Fgsa88g8m-M State Machine - LabVIEW Design Patterns] by LabVIEW Advantage&lt;br /&gt;
*[https://youtu.be/aLOh3wHu8_M State Machine Events SME - LabVIEW Design Patterns] by LabVIEW Advantage&lt;br /&gt;
*[https://youtu.be/P0NxAmx6b90 Producer Consumer (Events) - LabVIEW Design Patterns] by LabVIEW Advantage&lt;br /&gt;
*[https://youtu.be/-xXJt7yUEis Queued State Machine QSM - LabVIEW Design Patterns] by LabVIEW Advantage&lt;br /&gt;
*[https://learn.ni.com/badges/resources/996 LabVIEW Design Patterns Badge] by National Instruments&lt;br /&gt;
*&amp;quot;[[Design Pattern Case Study: A Simple Counter]]&amp;quot; - by Quentin &amp;quot;Q&amp;quot; Alldredge, Q Software Innovations, LLC&lt;br /&gt;
*&amp;quot;[[Actor Framework is not as hard as you think and here is why…]]&amp;quot; - by Quentin &amp;quot;Q&amp;quot; Alldredge, Q Software Innovations, LLC&lt;br /&gt;
*[[Applying Common Object-Oriented (OO) Design Patterns to LabVIEW - NI Community]] by National Instruments&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Design patterns]]&lt;/div&gt;</summary>
		<author><name>Acaracciolo</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Open_Source_Code&amp;diff=27250</id>
		<title>Open Source Code</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Open_Source_Code&amp;diff=27250"/>
		<updated>2020-05-14T13:32:47Z</updated>

		<summary type="html">&lt;p&gt;Acaracciolo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCnestright}}&lt;br /&gt;
== Open Source Repositories ==&lt;br /&gt;
&lt;br /&gt;
=== GitHub ===&lt;br /&gt;
* [https://github.com/trending/labview Trending LabVIEW Projects on GitHub]&lt;br /&gt;
* [https://github.com/search?q=labview&amp;amp;type=Repositories All LabVIEW Projects on GitHub]&lt;br /&gt;
&lt;br /&gt;
=== GitLab ===&lt;br /&gt;
* [https://gitlab.com/search?utf8=%E2%9C%93&amp;amp;search=labview LabVIEW Projects on GitLab]&lt;br /&gt;
&lt;br /&gt;
=== BitBucket ===&lt;br /&gt;
* [https://bitbucket.org/lavag/ LAVA projects on BitBucket]&lt;br /&gt;
&lt;br /&gt;
== Package Managers ==&lt;br /&gt;
*[[GCentral]] - not a package manager but a tool to search the other package managers&lt;br /&gt;
*[[Package Manager Comparison]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Alphabetical Listing&#039;&#039;&lt;br /&gt;
===G Packackage Manager (GPM)===&lt;br /&gt;
[https://gpackage.io Link to GPM]&lt;br /&gt;
&lt;br /&gt;
===National Instruments Package Manager===&lt;br /&gt;
Link coming soon&lt;br /&gt;
&lt;br /&gt;
===VI Package Manager===&lt;br /&gt;
[https://vipm.io Link to VIPM]&lt;br /&gt;
&lt;br /&gt;
==Forums and Discussion Groups==&lt;br /&gt;
[https://forums.ni.com/t5/Git-User-Group/gp-p/grp-2368 Git User Group - NI Community]&lt;br /&gt;
&lt;br /&gt;
[https://forums.ni.com/t5/Mercurial-User-Group/gp-p/5107 Mercurial User Group - NI Community]&lt;br /&gt;
&lt;br /&gt;
==Articles==&lt;br /&gt;
&lt;br /&gt;
[https://devs.wiresmithtech.com/blog/open-source-labview-how-to-contribute/ Open Source LabVIEW-How to Contribute] - James McNally, Wiresmith Technology&lt;br /&gt;
&lt;br /&gt;
Open source software projects are making huge contributions around the world. They allow communities to pool their resources and achieve progress that couldn’t be reached by individual teams in silos.&lt;br /&gt;
&lt;br /&gt;
While there are open source projects in LabVIEW, it feels like a resource that we aren’t great at using as a community. Every project I’ve seen seems to handle things quite differently, and it can be hard to track down where to work.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/NISystemsEngineering/GitHub-Hands-on/blob/master/Basic%20Concepts/Basic%20Concepts.md Git Basic Concepts for LabVIEW]  - developed by NI Systems Engineering&lt;br /&gt;
&lt;br /&gt;
How to use GitHub with LabVIEW Code.&lt;br /&gt;
* [https://forums.ni.com/t5/Reference-Design-Content/Getting-Started-Git-and-GitHub-setup/ta-p/3544824 Getting Started with Git and GitHub]&lt;br /&gt;
* [https://forums.ni.com/t5/Reference-Design-Content/Getting-Started-Git-GitHub-Development-Workflow/ta-p/3544823 Git/GitHub Development Workflow]&lt;br /&gt;
&lt;br /&gt;
[https://opensource.org/ Open Source Initiative]&lt;br /&gt;
&lt;br /&gt;
Not an article, per-se, however it is a full website promoting the open source cause.  Includes lots of information about licensing.&lt;br /&gt;
&lt;br /&gt;
[https://forums.ni.com/t5/LabVIEW-Development-Best/Using-Subversion-SVN-with-LabVIEW/ba-p/3479672 Using Subversion (SVN) with LabVIEW]&lt;br /&gt;
&lt;br /&gt;
[[Category:Open Source Code]]&lt;/div&gt;</summary>
		<author><name>Acaracciolo</name></author>
	</entry>
</feed>