Модульные тесты WPF MVVM для модели представления [закрыто]

Model-View-Controller

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

  • Модели обработки данных и бизнес-логики
  • Контроллеры для обработки пользовательского интерфейса и приложение
  • Представления для обработки объектов графического интерфейса пользователя и презентации

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

Model-View-Presenter

  • Модель - это данные, которые будут отображаться в представлении (пользовательский интерфейс).
  • Вид представляет собой интерфейс, который отображает данные (модель) и маршрутизирует пользовательские команды (события) в Ведущий, чтобы действовать по этим данным. Представление обычно имеет ссылку на его презентатор.
  • Presenter - это «средний человек» (воспроизводится контроллером в MVC) и имеет ссылки как на просмотр, так и на модель. Обратите внимание, что слово «модель» вводит в заблуждение. Это скорее бизнес-логика, которая извлекает или манипулирует моделью. Например: если у вас есть база данных, хранящая User в таблице базы данных, и ваш View хочет отобразить список пользователей, то Presenter будет ссылаться на вашу бизнес-логику базы данных (например, DAO), откуда Presenter будет запрашивать список пользователей.

Если вы хотите увидеть образец с простой реализацией, проверьте этот пост github

Конкретный рабочий процесс запроса и отображения списка пользователей из базы данных может работать следующим образом:

В чем разница между шаблонами MVC и MVP?

MVC Pattern

  • Контроллер основан на поведении и может быть разделен между представлениями
  • Может нести ответственность за определение отображаемого вида (Front Controller Pattern )

MVP Pattern

  • Вид более слабо связан с моделью. Ведущий отвечает за привязку модели к представлению.
  • Легче тестировать модуль, потому что взаимодействие с представлением осуществляется через интерфейс
  • Обычно просматривайте карту презентатора один к одному. Сложные представления могут иметь несколько презентаторов.

30
задан Shafique 17 September 2009 в 21:58
поделиться

2 ответа

Пример ViewModel из WPF Application Framework (WAF) показывает, как ViewModel может быть протестирована с помощью модульного тестирования.

0
ответ дан jbe 17 September 2009 в 21:58
поделиться

Джош Смит тестирует один модуль здесь . Надеюсь, это именно то, что вы ищете.

12
ответ дан 7 July 2019 в 20:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: