<?xml version="1.0" encoding="utf-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Paul M. Jones | Action Domain Responder</title>
    <link href="http&#x3A;&#x2F;&#x2F;paul-m-jones.com&#x2F;tag&#x2F;adr&#x2F;" />
    <updated>2026-05-08T09:12:58-05:00</updated>
            <entry>
        <title>Contra Noback on Application Services</title>
        <link href="http&#x3A;&#x2F;&#x2F;paul-m-jones.com&#x2F;post&#x2F;2022&#x2F;12&#x2F;09&#x2F;contra-noback-on-application-services&#x2F;" />
        <updated>2022-12-09T16:37:32-06:00</updated>
        <summary>Matthias Noback&#039;s Advanced Web Application Architecture (AWAA from here on) is excellent throughout. You should buy it and heed its advice. It is a wonderful companion or followup to my own Modernizing Legacy Applications in PHP -- which is still fre...</summary>
    </entry>
            <entry>
        <title>DDD, Authentication, and Credential Exchange</title>
        <link href="http&#x3A;&#x2F;&#x2F;paul-m-jones.com&#x2F;post&#x2F;2021&#x2F;03&#x2F;02&#x2F;ddd-authentication-and-credential-exchange&#x2F;" />
        <updated>2021-03-02T09:20:33-06:00</updated>
        <summary>In a typical DDD layered architecture, the Application layer will almost
always need to know who is using it, even if only to help determine
authorization. This is not a problem of authentication per se. Instead, it is a
problem of taking the identif...</summary>
    </entry>
            <entry>
        <title>Application and Domain Service Naming Conventions</title>
        <link href="http&#x3A;&#x2F;&#x2F;paul-m-jones.com&#x2F;post&#x2F;2020&#x2F;12&#x2F;06&#x2F;application-and-domain-service-naming-conventions&#x2F;" />
        <updated>2020-12-07T11:12:52-06:00</updated>
        <summary>In which a correspondent asks about Application Services, Domain Services, and the interactions between them.
I.

The word &quot;service&quot; is everywhere in my codebase. Can you suggest a naming convention, or directory structure, or other advice, regarding...</summary>
    </entry>
            <entry>
        <title>Clarifications to a review of Action Domain Responder</title>
        <link href="http&#x3A;&#x2F;&#x2F;paul-m-jones.com&#x2F;post&#x2F;2018&#x2F;12&#x2F;19&#x2F;clarifications-to-a-review-of-action-domain-responder&#x2F;" />
        <updated>2018-12-19T09:30:04-06:00</updated>
        <summary>Herberto GraÃ§a, as part of his Software Architecture Chronicles, saw fit to review the Action-Domain-Responder pattern that I have written so much about. It’s a good writeup, and you should read the whole thing, but it is off in a couple of plac...</summary>
    </entry>
            <entry>
        <title>Solving The "Widget Problem" In ADR</title>
        <link href="http&#x3A;&#x2F;&#x2F;paul-m-jones.com&#x2F;post&#x2F;2017&#x2F;12&#x2F;28&#x2F;solving-the-widget-problem-in-adr&#x2F;" />
        <updated>2017-12-28T10:15:42-06:00</updated>
        <summary>The “widget problem” is when you have several panels or content areas on an HTML page that have different data sources. You might have a main content area, then a calendar off to the side, with perhaps a list of recent news items or blog posts, a...</summary>
    </entry>
            <entry>
        <title>Slim and Action-Domain-Responder</title>
        <link href="http&#x3A;&#x2F;&#x2F;paul-m-jones.com&#x2F;post&#x2F;2017&#x2F;08&#x2F;22&#x2F;slim-and-action-domain-responder&#x2F;" />
        <updated>2017-08-22T11:59:01-05:00</updated>
        <summary>I’ve had a warm place in my heart for Slim for a long time, and especially so since recognizing the Action-Domain-Responder pattern. In this post, I’ll show how to refactor the Slim tutorial application to ADR.
One nice thing about Slim (and most...</summary>
    </entry>
            <entry>
        <title>Why MVC doesn't fit the web</title>
        <link href="http&#x3A;&#x2F;&#x2F;paul-m-jones.com&#x2F;post&#x2F;2017&#x2F;08&#x2F;18&#x2F;why-mvc-doesnt-fit-the-web&#x2F;" />
        <updated>2017-08-18T09:49:07-05:00</updated>
        <summary>[MVC is] a particular way to break up the responsibilities of parts of a graphical user interface application. One of the prototypical examples is a CAD application: models are the objects being drawn, in the abstract: models of mechanical parts, arc...</summary>
    </entry>
            <entry>
        <title>The "Micro" Framework As "User Interface" Framework</title>
        <link href="http&#x3A;&#x2F;&#x2F;paul-m-jones.com&#x2F;post&#x2F;2017&#x2F;08&#x2F;15&#x2F;the-micro-framework-as-user-interface-framework&#x2F;" />
        <updated>2017-08-15T13:38:01-05:00</updated>
        <summary>(The following is more exploratory than prescriptive. My thoughts on this topic are incomplete and in-progress. Please try to treat it accordingly.)

tl;dr: “Micro” frameworks are better described as “user interface” frameworks; perhaps there...</summary>
    </entry>
            <entry>
        <title>Domain Logic and Email Templates</title>
        <link href="http&#x3A;&#x2F;&#x2F;paul-m-jones.com&#x2F;post&#x2F;2017&#x2F;07&#x2F;18&#x2F;domain-logic-and-email-templates&#x2F;" />
        <updated>2017-07-18T07:00:42-05:00</updated>
        <summary>From an email conversation with a reader:

Hi Paul,
I’ve been following your writing and examples about the ADR pattern for some time now. It’s taken me awhile to wrap my head around it but ADR has really added a lot of structure to my code and I...</summary>
    </entry>
            <entry>
        <title>Controllers and Domain Exceptions</title>
        <link href="http&#x3A;&#x2F;&#x2F;paul-m-jones.com&#x2F;post&#x2F;2017&#x2F;05&#x2F;23&#x2F;controllers-and-domain-exceptions&#x2F;" />
        <updated>2017-05-23T07:00:13-05:00</updated>
        <summary>A few months ago I had a great email conversation with a correspondent about how to handle business logic exceptions in his controller code. His message follows, lightly edited for brevity and clarity:

I think controller has single responsibility - ...</summary>
    </entry>
    </feed>
