Skip to content
Cover of Patterns of Enterprise Application Architecture by Martin Fowler

Patterns of Enterprise Application Architecture

by Martin Fowler

Dated examples, durable vocabulary — still the catalog I reach for when naming a layer.

4.2 my rating
4.11 public avg
Status
Read · February 2022
Bought
February 14, 2022
For
Backend & platform engineers · Anyone designing a domain or persistence layer · Architects who argue about layering

The one-paragraph verdict

This is the book that put names to things I’d been building badly without them — Unit of Work, Data Mapper, Identity Map, and the Domain Model vs. Transaction Script split that every layered app eventually has to settle. The catalog format holds up: each pattern has a clear “when to use it” and an honest trade-off section, which is more than most pattern books manage. The cost is age. The examples are early-2000s Java and C#, some patterns (looking at you, anonymous distributed-object remoting advice) read as cautionary tales now, and the prose is uneven — a few entries are crisp, others bury the idea under setup. I keep it for the vocabulary and the decision framing, not the listings.

Who should read it

Backend and platform engineers who design persistence or domain layers, and anyone who’s been in the “should this be a service or an entity” argument and lost. Skip it if you want copy-paste modern code or a tutorial — it’s a reference catalog, and it assumes you already feel the pain it’s naming.

Where it earned its place

The trade-off framing here is what I lean on when reliability patterns get fuzzy. Fowler’s discipline of pairing each pattern with its failure mode shaped how I wrote up the Outbox messaging reliability approach — naming the consistency guarantee, then the cost. Same with Caching & invalidation: the book’s Identity Map and stale-read discussion is the ancestor of how I reason about invalidation today.

Skip it if…

You want current code or you’ve already internalized the vocabulary elsewhere. The ideas have diffused into every framework since; if you don’t need the canonical source, a blog summary covers most of it.

[Patterns of Enterprise Application Architecture — Goodreads]
#software-architecture#design-patterns#persistence#domain-modeling#enterprise