Skip to content
Action-Domain-Responder: a web-specific alternative to Model-View-Controller.
Branch: master
Clone or download
Latest commit e40b030 Sep 3, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
adr.key
.gitignore Remove partial, add browse and read from array. Not from DB May 8, 2014
ACKNOWLEDGEMENTS.md
ADR.md Here are the grammatical edits for this file. Feb 16, 2018
BIBLIO.md Fixed typo. Feb 17, 2018
HISTORY.md
IMPLEMENTATION.md
MENTIONS.md
MVC-MODEL-2.md
OBJECTIONS.md Editorial/grammatical changes. Feb 19, 2018
README.md Grammatical/editorial changes. Feb 20, 2018
REFACTORING.md Grammatical/editorial changes. Typo corrections. Feb 20, 2018
TRADEOFFS.md Grammatical/editorial changes. Feb 20, 2018
adr.png
original-renamed.md Editorial/grammatical changes. Feb 19, 2018
original.html

README.md

Action Domain Responder

Action Domain Responder organizes a single user interface interaction between an HTTP client and a HTTP server-side application into three distinct roles.

ADR

Components

Action is the logic to connect the Domain and Responder. It invokes the Domain with inputs collected from the HTTP request, then invokes the Responder with the data it needs to build an HTTP response.

Domain is an entry point to the domain logic forming the core of the application, modifying state and persistence as needed. This may be a Transaction Script, Service Layer, Application Service, or something similar.

Responder is the presentation logic to build an HTTP response from the data it receives from the Action. It deals with status codes, headers and cookies, content, formatting and transformation, templates and views, and so on.

Collaborations

  1. The web handler receives an HTTP request and dispatches it to an Action.

  2. The Action invokes the Domain, collecting any required inputs to the Domain from the HTTP request.

  3. The Action then invokes the Responder with the data it needs to build an HTTP response (typically the HTTP request and the Domain results, if any).

  4. The Responder builds an HTTP response using the data fed to it by the Action.

  5. The Action returns the HTTP response to the web handler sends the HTTP response.

Reading

Resources

Example code resides in the example repository.


You can read about the history of this pattern here, and you can find the acknowledgments here.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.