MVVM - Программа анализа матриц типа "функции-данные" и интерпретации деревьев бизнес-процессов

При проектировании визуализации была использована модель Model-View-ViewModel (MVVM) [1]- основной паттерн, используемый при работе с Windows Presentation Foundation, Silverlight, и др. MVVM используется для того, чтобы разделить модель и ее представление и обеспечить возможность изменять их независимо друг от друга. Основные элементы шаблона и их взаимодействие представлены на Рисунке 7:

схема взаимодействия элементов mvvm

Рисунок 7. Схема взаимодействия элементов MVVM.

Model (Модель) представляет собой набор данных, обеспечивающих логику работы приложения. Уровень модели написан на языке C#. Логические элементы программы реализованы в соответствующих классах.

View (Представление) - это непосредственно графический интерфейс, через который пользователь взаимодействует с программой. View "слушает" (binding) изменения значений свойств, описанных в ViewModel. Если в ViewModel меняется свойство, оно информирует своих "слушателей" об изменениях, и View запрашивает новое значение свойства. Данный уровень описан с помощью языка разметки XAML. (см. Текст программы. MainWindow. xaml).

ViewModel (Модель представления) является связующим звеном между двумя другими элементами; она содержит логику GUI и ссылки на модель. Данный уровень реализован на языке C#.(см. Текст программы. MainWindowViewModel. cs).

Структура приложения в модели MVVM представлена на Рисунке 8 .

структура приложения в модели mvvm

Рисунок 8. Структура приложения в модели MVVM

Рассмотрим применение данной модели в программе. Класс MainWindowViewModel реализует интерфейс INotifyPropertyChanged [16]:

Public event PropertyChangedEventHandler PropertyChanged;

Private void NotifyPropertyChanged(String info)

{

If (PropertyChanged!= null)

{

PropertyChanged(this, new PropertyChangedEventArgs(info));

}

}

Также в нем объявлено свойство Graph, об изменении которого необходимо оповещать View:

Public PocGraph Graph

{

Get { return graph; }

Set

{

Graph = value;

NotifyPropertyChanged("Graph");

}

}

View, в свою очередь, следит за изменением свойства Graph (MainWindow. xaml):

<local:PocGraphLayout x:Name="graphLayout" Margin="10"

Graph="{Binding Path=Graph}"

LayoutAlgorithmType="{Binding Path=LayoutAlgorithmType, Mode=OneWay}"

OverlapRemovalAlgorithmType="FSA"

HighlightAlgorithmType="Simple" />

Результат визуализации с использованием средств WPF представлен на Рисунке 9. Кластеры бизнес-процессов представляют собой деревья, отражающие взаимодействие логических элементов.

пример визуализации в программе

Рисунок 9 . Пример визуализации в программе.

В третьей главе были рассмотрены основания выбора средств реализации программы, а также особенности работы с входными файлами электронных таблиц с использованием стандарта OpenXML; принципы визуализации с помощью средств Windows Presentation Foundation и модели MVVM; для наглядности были добавлены фрагменты кода программы. Приведенная в данной главе информация необходима для ознакомления с особенностями разработки программы.

Похожие статьи




MVVM - Программа анализа матриц типа "функции-данные" и интерпретации деревьев бизнес-процессов

Предыдущая | Следующая