Design pattern: Difference between revisions
mNo edit summary |
m →Articles: Fix article does not link to external page |
||
(13 intermediate revisions by 3 users not shown) | |||
Line 7: | Line 7: | ||
=== State Machine === | === State Machine === | ||
See more on the [[State Machine|State Machine Design Pattern]]. | |||
=== Event Handler === | === Event Handler === | ||
See more on the [[Event Handler|Event Handler Design Pattern]]. | |||
=== Master/Slave === | === Master/Slave === | ||
See more on the [[Master/Slave|Master/Slave Design Pattern]]. | |||
=== Producer/Consumer === | === Producer/Consumer === | ||
See more on the [[ Producer/Consumer|Producer/Consumer Design Pattern]]. | |||
== Intermediate Design Patterns == | == Intermediate Design Patterns == | ||
=== Queued Message Handler (QMH) === | === Queued Message Handler (QMH) === | ||
See more on the [[Queued Message Handler|Queued Message Handler (QMH) Design Pattern]]. | |||
=== Queued State Machine (QSM) === | === Queued State Machine (QSM) === | ||
See more on the [[Queued State Machine|Queued State Machine (QSH) Design Pattern]]. | |||
=== Action Engine (AE) === | === Action Engine (AE) === | ||
See more on the [[Functional global variable|Action Engine (AE) Design Pattern]] a.k.a. [[Functional global variable]]. | |||
== Advanced Design Patterns == | == Advanced Design Patterns == | ||
=== Object-Oriented Design Patterns === | === Object-Oriented Design Patterns === | ||
See more on [[Object-Oriented Design Patterns]]. | |||
=== Actor Oriented Design === | === Actor Oriented Design === | ||
See more on the [[Actor Oriented Design Patterns]]. | |||
== Articles == | == Articles == | ||
"[[Design Pattern Case Study: A Simple Counter]]" - by Quentin "Q" Alldredge, Q Software Innovations, LLC | *[https://www.ieee.li/pdf/viewgraphs/labview_design_patterns.pdf LabVIEW Design Patterns Presentation] by National Instruments | ||
*[https://youtu.be/Fgsa88g8m-M State Machine - LabVIEW Design Patterns] by LabVIEW Advantage | |||
*[https://youtu.be/aLOh3wHu8_M State Machine Events SME - LabVIEW Design Patterns] by LabVIEW Advantage | |||
*[https://youtu.be/P0NxAmx6b90 Producer Consumer (Events) - LabVIEW Design Patterns] by LabVIEW Advantage | |||
"[[Actor Framework is not as hard as you think and here is why…]]" - by Quentin "Q" Alldredge, Q Software Innovations, LLC | *[https://youtu.be/-xXJt7yUEis Queued State Machine QSM - LabVIEW Design Patterns] by LabVIEW Advantage | ||
*[https://learn.ni.com/badges/resources/996 LabVIEW Design Patterns Badge] by National Instruments | |||
*"[[Design Pattern Case Study: A Simple Counter]]" - by Quentin "Q" Alldredge, Q Software Innovations, LLC | |||
*"[[Actor Framework is not as hard as you think and here is why…]]" - by Quentin "Q" Alldredge, Q Software Innovations, LLC | |||
*[https://forums.ni.com/t5/Example-Code/Applying-Common-Object-Oriented-OO-Design-Patterns-to-LabVIEW/ta-p/3510571 Applying Common Object-Oriented (OO) Design Patterns to LabVIEW] by National Instruments | |||
== References == | == References == |
Latest revision as of 10:22, 11 January 2025
A design pattern, 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.
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 "best", 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.[1]
Basic Design Patterns
State Machine
See more on the State Machine Design Pattern.
Event Handler
See more on the Event Handler Design Pattern.
Master/Slave
See more on the Master/Slave Design Pattern.
Producer/Consumer
See more on the Producer/Consumer Design Pattern.
Intermediate Design Patterns
Queued Message Handler (QMH)
See more on the Queued Message Handler (QMH) Design Pattern.
Queued State Machine (QSM)
See more on the Queued State Machine (QSH) Design Pattern.
Action Engine (AE)
See more on the Action Engine (AE) Design Pattern a.k.a. Functional global variable.
Advanced Design Patterns
Object-Oriented Design Patterns
See more on Object-Oriented Design Patterns.
Actor Oriented Design
See more on the Actor Oriented Design Patterns.
Articles
- LabVIEW Design Patterns Presentation by National Instruments
- State Machine - LabVIEW Design Patterns by LabVIEW Advantage
- State Machine Events SME - LabVIEW Design Patterns by LabVIEW Advantage
- Producer Consumer (Events) - LabVIEW Design Patterns by LabVIEW Advantage
- Queued State Machine QSM - LabVIEW Design Patterns by LabVIEW Advantage
- LabVIEW Design Patterns Badge by National Instruments
- "Design Pattern Case Study: A Simple Counter" - by Quentin "Q" Alldredge, Q Software Innovations, LLC
- "Actor Framework is not as hard as you think and here is why…" - by Quentin "Q" Alldredge, Q Software Innovations, LLC
- Applying Common Object-Oriented (OO) Design Patterns to LabVIEW by National Instruments
References
- ↑ "Scalable Design Patterns in LabVIEW" by David Ladolcetta (https://forums.ni.com/t5/Developer-Center-Resources/Scalable-Design-Patterns-in-LabVIEW/ta-p/3534309)