Что входит в курс:

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

  • Создание всеобъемлющих и гибких классов и приложений с применением агрегации, полиморфизма, множественного наследования, массивов объектов и перечислений.

  • Написание удобного в сопровождении, гибкого и расширяемого программного обеспечения в согласии с принципами объектно-ориентированного проектирования.

  • Эффективное решение типичных проблем проектирования программного обеспечения с помощью проверенных временем шаблонов проектирования.

  • Визуализация технических деталей объектно-ориентированных проектов с использованием стандартизованных диаграмм UML.

Предварительная подготовка:

Объектно-ориентированное программирование в MATLAB.

Продолжительность курса – 1 день. 

Программа

  • Обеспечение совместимости классов;
  • Создание массивов объектов;
  • Перечисления (enumerations);
  • Принципы объектно-ориентированной разработки;
  • Паттерны проектирования;
  • Приложения.

Обеспечение совместимости классов

Цель: Согласовать реализации классов, создав процедуру преобразования экземпляров, созданных с использованием старого определения класса, в последнюю версию. Упростить пересылку данных и их обмен с другими приложениями, добавив преобразование между пользовательскими классами и встроенными типами данных.

  • Распределение большого определения класса на несколько файлов.

  • Решение проблем совместимости версий сохраненных объектов с помощью методов saveobj и loadobj.

  • Правила приоритета для бинарных операторов и связанные с ними функции автопреобразования.

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

Создание массивов объектов

Цель: Подготовить объектно-ориентированное приложение к векторизации, требующей организации экземпляров объектов в однородные массивы.

  • Расширение скалярных классов при помощи методов, позволяющих создавать однородные массивы.

  • Добавление возможности создания разнородных массивов объектов.

Перечисления (enumerations)

Цель: Уметь создавать списки объектов, разрабатывая соответствующие поля и методы для реализации класса “enumeration”, с тем чтобы в будущем иметь возможность легко масштабировать этот перечень. Пример: определить список моделей для машинного обучения, которые могут однородным образом быть обучены на наборах экспериментальных данных, а затем использованы для расчета прогнозов.

  • Определить набор связанных имен с помощью простых перечислений.

  • Назначить наборам связанных имён специфические псевдонимы под нужную предметную область, создавать перечисления на основе встроенных типов.

  • Адаптировать поведение объектов “enumeration” через изменение свойств и методов класса.

  • Создавать перечисления, базовые значения которых могут меняться с течением времени.

Принципы объектно-ориентированной разработки

Цель: Создавать удобные для обслуживания, гибкие и легко расширяемые классы и приложения, соблюдая проверенные временем принципы проектирования.

  • Изучить фундаментальные принципы объектно-ориентированного проектирования, такие как SOLID, на практических примерах.

  • Создавать и использовать абстрактные интерфейсы и понимать, почему они так важны в ООП-разработке.

  • Организовывать код таким образом, чтобы изменения внутри класса не требовали изменений за его пределами.

  • Понимать, когда следует использовать наследование, агрегацию, композицию или делегирование.

Паттерны проектирования

Цель: Эффективно решать обычные проблемы проектирования программного обеспечения, такие как создание объектов и организацию их взаимодействия, путем применения рекомендованных практик (паттернов проектирования).

  • Понимать преимущество популярных паттернов проектирования для решения прикладных задач.

  • Создавать объекты, используя соответствующие генеративные паттерны проектирования.

  • Определять отношения между объектами с помощью структурных паттернов проектирования.

  • Контролировать взаимодействие и коммуникацию между объектами с помощью поведенческих паттернов проектирования.

Приложения

  • Диаграммы UML;

  • Справка по синтаксису;

  • Массивы разнородных элементов;

  • Паттерн проектирования Model-View-Controller (MVC).

Услуги

Продукты