В MVP Модель или Ведущий должны взаимодействовать с последовательным портом и файлами? - PullRequest
0 голосов
/ 07 февраля 2020

Я конвертирую неструктурированный устаревший код (приложение C ++ Windows с использованием MF C), чтобы использовать шаблон Model View Presenter, чтобы я мог писать модульные тесты.

Диалог, который я конвертирую в MVP сохраняет / загружает набор данных между файлом на диске и устройством, подключенным к последовательному порту. Кто отвечает за взаимодействие с I / O, Presenter или Model?

Предположим, я создал интерфейсы для файловой системы и уровня последовательной связи, чтобы я мог использовать для них тестовые макеты. Однако последовательная связь в приложении - это не простой ответ на вызов, это асинхронная машина Rube Goldberg, включающая рабочие потоки и Windows сообщений.

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

  • Строгий уровень, Активная модель: Presenter вызывает модель, Модель взаимодействует с уровнем последовательной связи
  • Presenter - это концентратор, Пассивная модель: Модель действует только на, Presenter опосредует ввод / вывод
...