Учебники

МВВМ — Каркасы

В этой главе мы обсудим доступные наборы инструментов или инфраструктуры MVVM. Вы также можете использовать эти фреймворки, чтобы вам не приходилось писать кучу повторяющегося кода для самостоятельной реализации шаблона MVVM. Вот некоторые из самых популярных фреймворков —

  • призма
  • MVVM Light
  • Калиберн Микро

МВВМ Каркасы

призма

Prism предоставляет руководство в виде примеров и документации, которые помогут вам легко проектировать и создавать многофункциональные, гибкие и легко обслуживаемые настольные приложения Windows Presentation Foundation (WPF). Богатые интернет-приложения (RIA), созданные с помощью подключаемого модуля браузера Microsoft Silverlight и приложений Windows.

  • Prism использует шаблоны проектирования, которые воплощают важные принципы архитектурного проектирования, такие как разделение задач и слабая связь.

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

  • Эти типы приложений известны как составные приложения.

Prism использует шаблоны проектирования, которые воплощают важные принципы архитектурного проектирования, такие как разделение задач и слабая связь.

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

Эти типы приложений известны как составные приложения.

У призмы есть ряд особенностей. Ниже приведены некоторые важные особенности Prism.

MVVM Pattern

Призма имеет поддержку шаблона MVVM. Он имеет класс Bindablebase, аналогичный тому, который был реализован в предыдущих главах.

У него есть гибкий ViewModelLocator, в котором есть соглашения, но он позволяет вам переопределить эти соглашения и декларативно подключить ваши Views и ViewModel в слабосвязанной форме.

модульность

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

UI Состав / Регионы

Это возможность подключать представления к контейнерам без представления, которое выполняет подключение, требуя явной ссылки на сам контейнер UI.

навигация

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

команды

У Prism есть команды, поэтому у них есть команда делегата, которая очень похожа на MyICommand, который мы использовали в предыдущих главах, за исключением того, что у него есть некоторая дополнительная надежность, чтобы защитить вас от утечек памяти.

События Pub / Sub

Prism также поддерживает события Pub / Sub. Это слабо связанные события, в которых издатель и подписчик могут иметь разное время жизни и не должны иметь явных ссылок друг на друга, чтобы общаться через события.

MVVM Light

MVVM Light производится Laurent Bugnion и помогает вам отделить ваш View от вашей модели, что позволяет создавать приложения, которые чище, проще в обслуживании и расширении.

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

  • В этом инструментарии особое внимание уделяется открытию и редактированию пользовательского интерфейса в Blend, включая создание данных времени разработки, чтобы пользователи Blend могли «что-то видеть» при работе с элементами управления данными.

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

В этом инструментарии особое внимание уделяется открытию и редактированию пользовательского интерфейса в Blend, включая создание данных времени разработки, чтобы пользователи Blend могли «что-то видеть» при работе с элементами управления данными.

Калиберн Микро

Это еще одна небольшая платформа с открытым исходным кодом, которая помогает вам реализовать шаблон MVVM, а также поддерживает ряд готовых решений.

Caliburn Micro — это небольшая, но мощная платформа, предназначенная для создания приложений на всех платформах XAML.

Благодаря мощной поддержке MVVM и других проверенных шаблонов пользовательского интерфейса, Caliburn Micro позволит вам быстро построить решение, не жертвуя качеством кода или тестируемостью.