Действие-домен-ответчик
![]() | Эта статья , возможно, содержит оригинальные исследования . ( февраль 2023 г. ) |
Эта статья в значительной степени или полностью опирается на один источник . ( март 2024 г. ) |
Действие-домен-ответчик ( ADR ) — это архитектурный шаблон программного обеспечения , предложенный Полом М. Джонсом. [ 1 ] как усовершенствование модели-представления-контроллера (MVC), которое лучше подходит для веб-приложений. ADR был разработан для более точного соответствия потоку запросов-ответов HTTP- коммуникаций, чем MVC, который изначально был разработан для настольных программных приложений. Как и в MVC, шаблон разделен на три части.
Компоненты
[ редактировать ]- Действие принимает HTTP - запросы ( URL-адреса и их методы) и использует эти входные данные для взаимодействия с доменом , после чего передает выходные данные домена одному и только одному ответчику .
- Домен . может изменять состояние, взаимодействуя с хранилищем и/или манипулируя данными по мере необходимости Он содержит бизнес-логику.
- Ответчик , формирует весь HTTP-ответ на основе выходных данных домена передаваемых ему действием .
Сравнение с MVC
[ редактировать ]ADR не следует путать с переименованием MVC; однако некоторые сходства действительно существуют.
- MVC Модель очень похожа на домен ADR . Разница заключается в поведении: в MVC представление может отправлять информацию в модель или изменять ее . [ нужна ссылка ] тогда как в ADR домен получает информацию только от действия , а не от ответчика .
- В веб-ориентированном MVC представление просто используется контроллером для генерации содержимого ответа, которым контроллер затем может манипулировать перед отправкой в качестве вывода. В ADR управление выполнением переходит к ответчику после того, как действие завершает взаимодействие с доменом , и, таким образом, ответчик несет полную ответственность за генерацию всех выходных данных. может Затем ответчик использовать любое необходимое представление или систему шаблонов.
- MVC Контроллеры обычно содержат несколько методов, которые при объединении в один класс требуют дополнительной логики для правильной обработки, например, перехватчиков до и после действия. Однако каждое действие ADR представлено отдельными классами или замыканиями. С точки зрения поведения, действие взаимодействует с доменом так же, как контроллер MVC взаимодействует с моделью , за исключением того, что действие затем не взаимодействует с системой представления или шаблона, а скорее передает управление ответчику, который это обрабатывает.
Ссылки
[ редактировать ]- ^ «Ответчик домена действия: предварительное уточнение MVC» . Пол-м-Джонс.com .
Внешние ссылки
[ редактировать ]- Первоначальное предложение Пола М. Джонса по ADR
- Реализация ADR в Laravel — реализация шаблона в Laravel PHP- фреймворке .