Когда мы начали работать над приложениями для Windows 8, мы искали библиотеку для поддержки шаблона Model-View-ViewModel (MVVM) для этой платформы.
Мы провели некоторое время в Интернете в поисках такой, но в итоге смирились с тем, что таких библиотек пока не существует в природе (возможно, мы плохо искали, но сейчас это уже не так важно).
Ответ на вопрос «что делатьЭ» спросил себя.
В недрах нашей компании EastBanc Technologies создана специальная библиотека (кодовое название ЕВТ.
Mvvm ).
Цель создания — экономия времени в будущем при разработке сложных приложений для Windows 8. В библиотеку вошли как наши собственные разработки, так и некоторые идеи и примеры, с которыми мы столкнулись в ходе поисков.
Итак, что имеем: все помнят, что основная идея шаблона — ослабить связь между ViewModel (назовем ее моделью представления) и самим View. В идеальном состоянии код программной части представления должен содержать только конструктор с InitializeComponent и, возможно, код для поддержки визуального поведения, которое невозможно определить с помощью XAML. Таким образом, разработчик отдает презентацию дизайнеру, а тот сосредотачивается на работе и тестировании логики приложения.
Данная статья ориентирована на разработчиков, уже знакомых с программированием на C# и XAML для Windows 8. Ниже мы приводим описания основных возможностей нашей библиотеки в виде примеров кода для их использования и комментариев.
Итак, поехали:
1. Базовый класс ViewModel
Первое, с чего нам нужно начать, говоря о шаблоне MVVM, — это базовый класс для наших моделей представлений.Основная цель — поддержка интерфейса INotifyPropertyChanged и удобных функций автоматического уведомления при изменении свойств.
Пример использования:
Здесь все должно быть понятно без комментариев.public class SimpleViewModel : ViewModel { private int _number; public int Number { get { return _number; } set { OnPropertyChange(ref _number, value); } } }
Стоит добавить, что существует набор перегруженных функций для автоматического оповещения при изменении свойства.
Существует также способ вообще избежать написания поля.
Имеется в виду так называемое резервное поле.
Примером может служить поле _number в приведенном выше примере кода.
В этом случае свойства можно продолжать создавать с поддержкой автоматического уведомления.
Это довольно удобно, если в модели представления у нас много свойств для привязки.
В примере ниже показано, как можно сделать свойство с учетом этой особенности (поля не требуются).
public string Text
{
Теги: #windows 8 #библиотека #разработка приложений #XAML #C++ #разработка веб-сайтов
-
Apple Macbook Air Series Mb940Ll/A (Z0Gb)
19 Oct, 24 -
Важность Использования Купонов На Хостинг
19 Oct, 24 -
Обучение Слепому Подписанию
19 Oct, 24 -
Зачем Мне Виртуальные Машины?
19 Oct, 24 -
Micport Pro — Мечта Подкастера
19 Oct, 24