Book
Patterns of Enterprise Application Architecture
Martin Fowler
Summary
Martin Fowler splits this into a narrative and a catalog. The first eight chapters argue the design decisions directly: how to layer an enterprise application, how to organize domain logic, and how to map objects onto a relational database, followed by web presentation, concurrency, session state, and distribution strategies. The remaining ten chapters are the catalog those arguments refer back to, grouped by the problem each set addresses: domain logic patterns, data source architectural patterns, three chapters of object-relational patterns covering behavior, structure, and metadata mapping, and then web presentation, distribution, offline concurrency, session state, and base patterns. Among the entries are Repository, Service Layer, Unit of Work, and Identity Map. Code examples are in Java and C#.
Target Readers
- Senior developers who want the original definitions behind the layering and data-access patterns their frameworks already implement
- Architects reading books that use pattern names such as Repository or Unit of Work without defining them
- Teams choosing between a domain model and a transaction script for a given piece of business logic, wanting the tradeoff stated
Tags
Colophon
- Publisher
- Shoeisha
- ISBN
- 978-4798105536
- Published
- Apr 2005
- List price
- ¥6,380incl. taxMay differ from the actual selling price on Amazon
Get this book
* The link above is an advertisement via Amazon Associates.Related Books
Prerequisites
- Recommended
Clean Architecture
A Craftsman's Guide to Software Structure and Design
Robert C. Martin
Reason: Once you have the principles of layering and dependency direction, you advance to the source of the canonical patterns that implement them—Repository, Service Layer, Domain Model. Mapping principles to patterns deepens your design vocabulary.
- Related
Design Patterns
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
Reason: After learning general-purpose object patterns, you advance to patterns that address enterprise-specific contexts—layering, persistence, and distribution. Fowler's PoEAA supplies that vocabulary, such as Repository and Domain Model.
Next Books
- Recommended
Enterprise Integration Patterns
Designing, Building, and Deploying Messaging Solutions
Gregor Hohpe, Bobby Woolf
Reason: Patterns of Enterprise Application Architecture deals with how to layer an enterprise application, organize its domain logic and map objects onto a relational database. Enterprise Integration Patterns takes up what comes next: connecting such applications to each other through asynchronous messaging, in 65 patterns. The two share a way of presenting patterns as a catalog, so the reading habits built on the first book carry over.
- Related
Designing Data-Intensive Applications
The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
Martin Kleppmann
Reason: After mastering enterprise patterns that assume a single database, you widen your view to consistency, replication, and partitioning of data spread across many nodes. The assumptions of scale change.