Применение паттерна проектирования Model-View-Controller (MVC) в MATLAB.
Создание класса Model, работающего в качестве хранилища данных приложения.
Эффективная работа с графикой MATLAB и объектами управления пользовательского интерфейса.
Управление расположением компонентов приложения.
Проектирование классов View для визуализации данных приложения.
Проектирование классов Controller для обеспечения взаимодействия пользователя с приложением.
Интеграция компонентов приложения в класс программы запуска приложения.
Упаковка, развертывание и совместное использование приложений.
Навыки программирования в MATLAB и некоторый опыт работы с графическими объектами MATLAB. Базовые знания объектно-ориентированного программирования в MATLAB.
Продолжительность курса – 2 дня.
День 1
День 2
Цель: Уметь создавать классы Model для работы в качестве хранилища данных приложения и как место хранения состояния системы. Уметь реализовывать интерфейсы класса Model.
Изучение моделей в рамках фреймворка MVC;
Избегание ненужного копирования данных;
Хранение данных приложения;
Предоставление доступа к данным для визуализации;
Предоставление механизмов для управления операциями над данными;
Передача информации об изменении данных или состояния системы.
Цель: Создавать, получать доступ и изменять графические объекты в графической иерархии MATLAB. Использовать предопределенные функции обратного вызова графики. Использовать объекты управления компоновкой для организации внешнего вида графических объектов и элементов управления приложения.
Навигация по графической иерархии MATLAB;
Создание, доступ и изменение графики и объектов управления;
Работа с широко используемыми графическими объектами;
Организация компонентов приложения с помощью объектов управления компоновкой;
Использование встроенных функций обработки событий (callbacks).
Цель: Уметь проектировать классы View для визуализации данных приложения. Уметь реализовывать интерфейсы класса View.
Классы View в рамках фреймворка MVC;
Взаимодействие между классом View и классом Model;
Взаимодействие между классом View и графическими объектами;
Динамическое обновление представлений с помощью функций-слушателей и обработки событий (callbacks);
Взаимодействие между классом Model и классом View.
Цель: Упростить разработку классов View и Controller с помощью наследования. Предоставить конечным пользователям удобные средства взаимодействия с компонентами приложения. Обеспечить стабильную работу приложения путем управления жизненным циклом компонентов View и Controller.
Унификация общих свойств и методов в суперклассе компонента;
Унификация общих правил кодирования;
Использование абстрактных методов для создания общего интерфейса;
Создание удобного API для компонентов;
Управление жизненным циклом объектов компонентов.
Цель: Уметь создавать классы Controller для обеспечения взаимодействия пользователя с данными приложения. Уметь реализовывать интерфейс класса Controller.
Роль класса Controller в рамках фреймворка MVC;
Связь классов Controller с классом Model;
Связь класса Controller с графическими объектами;
Гибридные компоненты, которые являются одновременно классами View и Controller;
Взаимодействие между классами Model и Controller.
Задача: Интегрировать все компоненты приложения и создать класс, управляющий инициализацией, зависимостями и состоянием приложения. Уметь проектировать и реализовывать загрузчик.
Создание облика и макета приложения;
Создание и хранение компонентов приложения;
Проектирование приложений с меню и панелями инструментов;
Упаковка и обновление приложений.