Advanced MATLAB Application Development
View schedule and enrollCourse Details
- Applying the Model-View-Controller (MVC) design pattern in MATLAB
- Creating a model class to act as a data repository for an application
- Working effectively with MATLAB graphics and user-interface control objects
- Managing the layout of application components
- Designing view classes to visualize application data
- Designing controller classes to enable user interaction with the application
- Integrating application components within an application launcher class
- Packaging, deploying, and sharing apps
Day 1 of 2
Organizing Application Data in a Model Class
Objective: Create a model class to act as a data repository for an application and store the state of the system. Define and implement the core model responsibilities and actions.
- Exploring models within the MVC framework
- Avoiding unnecessary data copies
- Storing application data
- Providing access to data for visualization
- Providing mechanisms for control operations on the data
- Communicating changes of state or data
Managing Application Layout
Objective: Create, access, and modify graphics objects within the MATLAB graphics hierarchy. Use predefined graphics callback functions. Use layout management objects to organize the appearance of the application's graphics objects and controls.
- Navigating the MATLAB graphics hierarchy
- Creating, accessing, and modifying graphics and control objects
- Working with commonly used graphics objects
- Organizing application components using layout management objects
- Using predefined graphics callback functions
Visualizing Application Data with View Classes
Objective: Define view classes for visualizing application data. Define and implement the core view responsibilities and actions.
- Views within the MVC framework
- The relationship of a view to a model
- The relationship of a view to its graphics objects
- Dynamic updates to views using listeners and callbacks
- The interaction between a model and its views
Day 2 of 2
Design Considerations for View and Controller Components
Objective: Simplify the development of view and controller classes using inheritance. Provide end users with a convenient means of interacting with the application components. Ensure robust application behavior by managing the lifecycle of view and controller components.
- Unifying common properties and methods in a component superclass
- Unifying common construction code
- Using abstract methods to create a common interface
- Creating a user-friendly component API
- Managing the lifecycle of component objects
Enabling Interactive User Control with Controller Classes
Objective: Create controller classes to provide user interaction with the application data. Define and implement the core controller responsibilities and actions.
- Controllers within the MVC framework
- The relationship of a controller to a model
- The relationship of a controller to its graphics objects
- Hybrid components that are both a view and a controller
- The interaction between a model and its controllers
Integrating Components with an Application Launcher
Objective: Integrate all application components and create a class managing the initialization, dependencies, and running status of an application. Define and implement the core application launcher responsibilities and actions.
- Creating the main application figure and layout
- Creating and storing the application components
- Designing applications with menus and toolbars
Application Deployment
Objective: Deploy the application as a MATLAB app, standalone desktop app or web app.
- Overview of the deployment possibilities
- Creating a wrapper function to be used as the entry point for deplyoment
- Deploying as a MATLAB app
- Deploying as a standalone desktop app
- Deploying as a web app
Level: Intermediate
Prerequisites:
- MATLAB Programming Techniques and some experience of working with MATLAB graphics objects.
- Some existing knowledge of object-oriented programming in MATLAB or Object-Oriented Programming with MATLAB
Duration: 2 days
Languages: Deutsch, English