Обеспечение совместимости разных реализаций классов при помощи процедур сохранения, загрузки, создания и преобразования объектов.
Создание всеобъемлющих и гибких классов и приложений с применением агрегации, полиморфизма, множественного наследования, массивов объектов и перечислений.
Написание удобного в сопровождении, гибкого и расширяемого программного обеспечения в согласии с принципами объектно-ориентированного проектирования.
Эффективное решение типичных проблем проектирования программного обеспечения с помощью проверенных временем шаблонов проектирования.
Визуализация технических деталей объектно-ориентированных проектов с использованием стандартизованных диаграмм UML.
Объектно-ориентированное программирование в MATLAB.
Продолжительность курса – 1 день.
Цель: Согласовать реализации классов, создав процедуру преобразования экземпляров, созданных с использованием старого определения класса, в последнюю версию. Упростить пересылку данных и их обмен с другими приложениями, добавив преобразование между пользовательскими классами и встроенными типами данных.
Распределение большого определения класса на несколько файлов.
Решение проблем совместимости версий сохраненных объектов с помощью методов saveobj и loadobj.
Правила приоритета для бинарных операторов и связанные с ними функции автопреобразования.
Умение сделать свой класс совместимым с другими пользовательскими классами, а также со встроенными типами данных MATLAB, используя методы-конструкторы и преобразователи.
Цель: Подготовить объектно-ориентированное приложение к векторизации, требующей организации экземпляров объектов в однородные массивы.
Расширение скалярных классов при помощи методов, позволяющих создавать однородные массивы.
Добавление возможности создания разнородных массивов объектов.
Цель: Уметь создавать списки объектов, разрабатывая соответствующие поля и методы для реализации класса “enumeration”, с тем чтобы в будущем иметь возможность легко масштабировать этот перечень. Пример: определить список моделей для машинного обучения, которые могут однородным образом быть обучены на наборах экспериментальных данных, а затем использованы для расчета прогнозов.
Определить набор связанных имен с помощью простых перечислений.
Назначить наборам связанных имён специфические псевдонимы под нужную предметную область, создавать перечисления на основе встроенных типов.
Адаптировать поведение объектов “enumeration” через изменение свойств и методов класса.
Создавать перечисления, базовые значения которых могут меняться с течением времени.
Цель: Создавать удобные для обслуживания, гибкие и легко расширяемые классы и приложения, соблюдая проверенные временем принципы проектирования.
Изучить фундаментальные принципы объектно-ориентированного проектирования, такие как SOLID, на практических примерах.
Создавать и использовать абстрактные интерфейсы и понимать, почему они так важны в ООП-разработке.
Организовывать код таким образом, чтобы изменения внутри класса не требовали изменений за его пределами.
Понимать, когда следует использовать наследование, агрегацию, композицию или делегирование.
Цель: Эффективно решать обычные проблемы проектирования программного обеспечения, такие как создание объектов и организацию их взаимодействия, путем применения рекомендованных практик (паттернов проектирования).
Понимать преимущество популярных паттернов проектирования для решения прикладных задач.
Создавать объекты, используя соответствующие генеративные паттерны проектирования.
Определять отношения между объектами с помощью структурных паттернов проектирования.
Контролировать взаимодействие и коммуникацию между объектами с помощью поведенческих паттернов проектирования.
Диаграммы UML;
Справка по синтаксису;
Массивы разнородных элементов;
Паттерн проектирования Model-View-Controller (MVC).