Lesson | Overview | Topics |
---|
Architecting an Application | In this lesson, you learn how to design and document scalable, readable, and maintainable software architectures. | - Characteristics of scalable, readable, maintainable architecture
- Documenting a software architecture
- Characteristics of a scalable design pattern
|
Designing an API | In this lesson, you learn how to design a consistent, organized, and usable API that may reused in your software architectures and distributed to several developers. | - API design techniques
- Polymorphic VIs for an API
- Project libraries for API design
- Passing data in an API
|
Multiple Processes and Inter-Process Communication | In this crucial lesson, you learn about foundational APIs and design patterns and how they apply to several essential advanced design patterns. You also learn several advanced methods for communicating between multiple processes and their tradeoffs. Exercises and tools are general enough that you can use them in your own applications. | - Storing data, streaming data, and sending messages
- Foundational native LabVIEW APIs for messaging (queues, notifiers, user events, data value references)
- Foundational design patterns (FGV, various state machines, producer/consumer, various queue-driven message handlers)
- Scaling foundational design patterns for multiple processes (e.g. client/server)
- Asynchronous dynamic processes
- By reference inter-process data storage (single element queues, data value references)
- Several inter-process communication methods
- Exposure to relevant native LabVIEW APIs, advanced design patterns, and reference architectures
|
Advanced User Interface Techniques | In this lesson, you learn how to create an architecture that provides a modular, scalable, and extensible user interface. | |
Introduction to Object-Oriented Programming in LabVIEW | In this lesson, you learn how using the encapsulation and inheritance capabilities of LabVIEW Object-Oriented Programming can create very scalable and extensible software architectures. | - Introduction to LabVIEW classes and related terminology
- Using encapsulation to restrict access to class data
- Using inheritance and dynamic dispatch to implement scalable polymorphism at run time.
|
Plug-In Architectures | In this lesson, you learn how to create a plug-in architecture that allows you to add features without changing your main code. | - Plug-in architecture using VI Server
- Plug-in architecture using LVOOP
|
Tips, Tricks, and Other Techniques | In this lesson , you learn various tips, tricks, and techniques to help create your architecture | - Variant attributes
- Callback VIs with user events
- VI Scripting
- Drop In VIs
|