${message}

${message}

Участники курса научатся использовать объектно-ориентированное программирование для разработки и поддержки сложных приложений. Кроме того, будет представлен подход разработки через тестирования для обеспечения качества программного обеспечения.

Основные темы курса:

  • Определение надежных, интуитивно понятных и многократно используемых пользовательских типов данных;

  • Создание удобного в сопровождении и расширяемого приложения с помощью наследования и агрегирования;

  • Создание надежного и гибкого приложения с модульным тестированием;

  • Включение синхронизации объектов с использованием событий и слушателей.

Предварительные требования:

MLPR или эквивалентный опыт работы в MATLAB.


Продолжительность - 2 дня.

Подробная программа

День 1

Модуль 1. Создание пользовательских типов данных.

Организация файлов в пакеты. Изучение некоторых из основных методов и преимуществ объектно-ориентированного программирования и выяснения различия между процедурным и объектно - ориентированным программированием

  • Создание пространства имен, хранящих множество файлов в пакете;
  • Инкапсуляция данных и функциональность в файле определения одного класса;
  • Документирование пользовательских типов данных;
  • Создание и использование переменных пользовательских типов данных.

Модуль 2. Разработка классов MATLAB.

Создание надежных объектов путем разделения интерфейса и реализации. Повышение удобства сопровождения кода, избегая дублирования кода. Настройка стандартных операции для своих классов.

  • Определение безопасных взаимодействий через методы доступа к данным;
  • Разработка интерфейса открытого класса со свойствами и атрибутами методов;
  • Настройка стандартных операторов для своих классов;
  • Как избежать дублирования кода за счет внутренней реорганизации кода.

Модуль 3. Построение иерархии классов.

Установление связи подобных классов через общий суперкласс. Расширение общего суперкласса, уточняя его поведение в подклассах.

  • Создание суперкласса через абстракции;
  • Наследование от суперкласса;
  • Определение абстрактных свойств и методов;
  • Реализация специализированного поведения в подклассах.


День 2 

Модуль 4. Создание множественных ссылок.

Встраивание одного класса в другой с помощью агрегации. Определение отличий поведения использования по значению и по ссылке. Определение класса, демонстрирующего эталонное поведение.

  • Создание обозревателя класса, содержащий класс данных;
  • Написание контекстно зависимого (полиморфного) кода;
  • Ссылка на один объект данных из нескольких объектов объектов просмотра;
  • Выбор между классом по значению и по ссылке.

Модуль 5. Написание модульных тестов.

Доказательство правильного поведения путем записи модульных тестов для соответствующего блока кода. Использование общей схемы модульного тестирования в MATLAB. Повышение качества и стабильности программного обеспечения.

  • Обзор схемы модульного тестирования в MATLAB;
  • Написание метода теста;
  • Создание тестовой среды с помощью методов setup и teardown;
  • Параметризация метода тестирования;
  • Тестирование на наличие ошибок;
  • Агрегирование и выполнение наборов тестов;
  • Запись тестов и покрытие результатов.

Модуль 6. Синхронизация объектов.

Автоматическая реакция на изменение свойств с использованием заданных события, слушателей, и обратных вызовов. Вызовы триггерной функции на основе пользовательских событий.

  • События, слушатели и обратные вызовы;
  • Использование предопределенных свойств событий;
  • Запросы метаинформации класса;
  • Определение свойств слушателей;
  • Реализация функции обратного вызова;
  • Определение пользовательских событий и их обратных вызовов.

Задать вопрос