{
    "href": "/post/2020/02/10/payload-interop-100-released/",
    "relId": "2020/02/10/payload-interop-100-released",
    "title": "Payload-Interop 1.0.0 Released",
    "author": "pmjones",
    "created": "2020-02-10 13:50:02 UTC",
    "updated": [
        "2020-02-10 13:50:02 UTC",
        "2020-02-10 13:51:50 UTC"
    ],
    "tags": [
        {
            "href": "/tag/php/",
            "relId": "php",
            "title": "PHP",
            "author": null,
            "created": null,
            "updated": [],
            "markup": "markdown"
        },
        {
            "href": "/tag/programming/",
            "relId": "programming",
            "title": "Programming",
            "author": null,
            "created": null,
            "updated": [],
            "markup": "markdown"
        }
    ],
    "markup": "markdown",
    "html": "<p>I am happy to announce that after one change from its public review period, the <a href=\"https://github.com/payload-interop/payload-interop\">payload-interop</a> specification has been released as 1.0.0 stable!</p>\n<p>From the README:</p>\n<blockquote>\n<p>The Domain Payload Object pattern was first described by Vaughn Vernon at <a href=\"https://vaughnvernon.co/?page_id=40\">https://vaughnvernon.co/?page_id=40</a></p>\n<p>Whereas a Data Transfer Object provides properties found on domain objects, a Domain Payload Object provides entire domain objects. Its purpose is to transport those domain objects across the architectural boundary from the domain layer to the user interface layer.</p>\n<p>The Domain Payload Object is not for intra-domain use. It is only for transporting a domain result across the domain layer boundary back to the calling code, typically the user interface layer.</p>\n<p>Further, the Domain Payload Object is independent of any particular user interface. As part of the domain layer, it should have no knowledge of HTTP or CLI contexts.</p>\n<p>This project defines only a reading interface, so that any user interface code can know how to get both the result and the status out of the Domain Payload Object.</p>\n<p>This project does not define a writing or mutation interface. Creation and manipulation of Domain Payload Objects are core application concerns, not user interface concerns. The domain-specific nature places it outside the scope of an interoperability specification.</p>\n</blockquote>\n<p>Try it out on your next project!</p>\n"
}
