Обсуждение статьи "Непрерывная скользящая оптимизация (Часть 6): Логическая часть автооптимизатора и его структура"

 

Опубликована статья Непрерывная скользящая оптимизация (Часть 6): Логическая часть автооптимизатора и его структура:

Описывая создание автоматической скользящей оптимизации, мы добрались до внутренней структуры самого автооптимизатора. Данная статья может быть полезна тем, кто пожелает сам доработать созданный проект, либо же просто желает разобраться в логики функционирования программы. В текущей статье при помощи UML диаграмм представлена внутренняя структура проекта и взаимосвязи объектов между собой. Также рассматривается процесс запуска оптимизаций, но пока без описания процесса реализации оптимизатора.

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

  • AutoOptimiser (основное окно),
  • AutoOptimiserVM (view model),
  • IMainModel (интерфейс модели),
  • MainModel (Model),
  • MainModelCreator (статическая фабрика по созданию модели данных).


Это первые 5 объектов изображенные на данной диаграмме. Класс AutoOptimiser инстанцируется первым при запуске приложения, создавая графический интерфейс. Как видно из прошлой статьи,  в XAML-разметке графического интерфейса содержится указание на объект AutoOptimiserVM, выполняющий роль ViewModel. Соответственно, при создании графического слоя создается и класс AutoOptimiserVM, причем графический слой безраздельно владеет им и данный объект существует до тех пор, пока не будет уничтожен после уничтожения самого графического интерфейса. Посему, он связан с классом AutoOptimiser (наше окно) связью "Композиция", подразумевающей безраздельное владение и управление объектом. 

Автор: Andrey Azatskiy

Причина обращения: