Действие – домен – ответчик - Action–domain–responder

Действие – домен – ответчик (ADR) это программный архитектурный шаблон это было предложено Полом М. Джонсом[1] как уточнение Модель – представление – контроллер (MVC), который лучше подходит для веб-приложений. ADR был разработан, чтобы соответствовать потоку запроса-ответа HTTP коммуникации более тесно, чем MVC, который изначально был разработан для настольных программных приложений. Подобно MVC, шаблон разделен на три части.

Составные части

  • В действие принимает HTTP-запросы (URL-адреса и их методы) и использует этот ввод для взаимодействия с домен, после чего он передает вывод домена одному и только одному ответчик.
  • В домен может изменять состояние, взаимодействуя с хранилищем и / или манипулируя данными по мере необходимости. Он содержит бизнес-логику.
  • В ответчик строит весь HTTP-ответ из доменвывод, который ему дает действие.

Сравнение с MVC

ADR не следует путать с переименованием MVC; Однако некоторые сходства все же существуют.

  • MVC модель очень похож на ADR домен. Разница в поведении: в MVC Посмотреть может отправлять информацию или изменять модель, тогда как в ADR домен получает информацию только от действие, не ответчик.
  • В веб-ориентированном MVC Посмотреть просто используется контролер для генерации содержания ответа, который контролер затем можно было манипулировать перед отправкой в ​​качестве вывода. В ADR контроль исполнения переходит к ответчик после действие заканчивает взаимодействие с домен, и, следовательно, ответчик полностью отвечает за генерацию всего вывода. В ответчик затем может использовать любое необходимое представление или систему шаблонов.
  • MVC контролерs обычно содержат несколько методов, которые при объединении в один класс требуют дополнительной логики для правильной обработки, например, хуки до и после действия. Однако каждое действие ADR представлено отдельными классами или закрытием. Что касается поведения, действие взаимодействует с домен так же, как MVC контролер взаимодействует с модель, за исключением того, что действие затем не взаимодействует с системой представления или шаблонов, а скорее передает управление ответчик который этим занимается.

Рекомендации

  1. ^ «Действие-домен-ответчик: предварительное уточнение MVC». paul-m-jones.com.

внешняя ссылка