Я не могу понять чистую часть архитектуры (MVP) из книги дяди Боба - PullRequest
0 голосов
/ 04 октября 2019

Я читаю «Книгу чистой архитектуры» дяди Боба. И я попытался реализовать простые примеры. У меня есть эта диаграмма:

enter image description here

Я не могу понять, как я могу реализовать деталь в красной линии. Например, у меня есть простая веб-страница:

enter image description here

У меня есть 2 кнопки, один отредактированный текст и одна метка. Если я нажму на кнопку отправить на сервер - текст с изменить текст отправит на сервер. И если я нажму кнопку get from server - я загружаю сообщение и высеваю в label .

Что произойдет, если я нажму первую кнопку (отправлю на сервер)? Моя точка зрения звонить ведущему или контролеру?

Если я поверю диаграмме - мой веб-сайт не знает о докладчике. Он знает только об интерфейсе Screen View (он реализует этот интерфейс). Ведущий тоже знает интерфейс Screen View. Но у докладчика нет ссылки на контроллер. Как я могу передать свой текст из текстового поля редактирования в контроллер или взаимодействие?

1 Ответ

1 голос
/ 07 октября 2019

Может быть, это не лучшая картина для объяснения вида, докладчика и контроллера. В его книге есть другие рисунки, которые более четко показывают, что

  • представление отправляет объект запроса контроллеру
  • контроллер взаимодействует с бизнес-логикой
  • бизнес-логика передает модель ответа презентатору
  • докладчик обновляет модель представления, наблюдаемую представлением

Все это сотрудничество происходит путем соблюдения правила зависимости, часто с использованием инверсии управления.

Более подробное описание взаимодействия, представления контроллера и докладчика см. В моем блоге: http://www.plainionist.net/Implementing-Clean-Architecture-Controller-Presenter/

...