Goodreads helps you keep track of books you want to read.
Start by marking “Patterns of Enterprise Application Architecture” as Want to Read:
Patterns of Enterprise Application Architecture
Enlarge cover
Rate this book
Clear rating
Open Preview

Patterns of Enterprise Application Architecture

(Martin Fowler Signature Book)

4.11  ·  Rating details ·  3,121 ratings  ·  116 reviews
The practice of enterprise application development has benefited from the emergence of many new enabling technologies. Multi-tiered object-oriented platforms, such as Java and .NET, have become commonplace. These new tools and technologies are capable of building powerful applications, but they are not easily implemented. Common failures in enterprise applications often oc ...more
Hardcover, 533 pages
Published November 15th 2002 by Addison-Wesley Professional (first published November 5th 2002)
More Details... edit details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about Patterns of Enterprise Application Architecture, please sign up.

Be the first to ask a question about Patterns of Enterprise Application Architecture

Community Reviews

Showing 1-30
4.11  · 
Rating details
 ·  3,121 ratings  ·  116 reviews


More filters
 | 
Sort order
Matt
Jul 26, 2013 rated it it was ok
In comparison to other patterns books that I have read, Patterns of Enterprise Application Architecture is one of the weaker ones. I'm afraid that many of the patterns described are now out of date or anti-patterns. The book is now 12 years old and the technology field is a different place.

Many of the patterns in the book focus on dealing with relational databases or non-distributed systems. Relational databases still play a large role in many enterprise applications, but this material either pr
...more
Matt
Feb 01, 2011 rated it it was amazing
I think this is a great book. Most developers should have it on hand as a reference. I say that in spite of the fact that I'm seriously annoyed by patterns fashionistas and Fowler fanatics.

This is not a collection of esoteric design patterns or capital-A architectures. This is a collection of tricks, schticks, and small-A architectures that just tend to show up repeatedly in the wild. Martin Fowler, with his perspective as an idea man and his position as a consultant and thought leader, has obse
...more
Bragadeesh
Oct 01, 2017 rated it liked it
This book will be more relevant for that ambitious architect who is willing to dedicate a lot of time to comprehensively brush through the basics of basic web design pattern. Since this book was written 15 years before and given that the information technology field is a rapidly changing one, the relevancy and newness is lost. However, I would still recommend it for those who want find the roots and sources of the existing design patterns especially those deal with the enterprises.

One more thin
...more
Daniel
Aug 02, 2014 rated it it was ok
I re-read this because back then, I only skimmed it, and I thought some of the content might still be relevant today. Unfortunately, this book has not aged very well. Most of the patterns are hardly useful at all in 2014, or even anti-patterns by now.
Nguyen Huu Anh Vu
Apr 13, 2018 rated it really liked it
As with other books by Martin Fowler, the writing style is unstable. Some idea are well-explained, some are in dire need for more explanation.
Even though some examples are out-dated (we now use JSON over XML), the patterns presented in this book can still be useful in modern project.
Must read for those who want to design architecture
Leo Maslovs
Mar 05, 2016 rated it it was amazing
It's one of the best sw engineering books I've read recently.

What I liked the best? The ELI5 (explain like I'm 5) stuff. Yes, it's all known and battle-tested truths out there, most of it found (to my shame) independently, and oh boy, how much time & effort has burn out and flew into the pipe doing so. Still it's so refreshing to get some good and clear read on this ELI5 style; I feel like I'm finally up to the point to be able to explain database isolation levels to 7th grade student mysel
...more
Katrina Theodosopoulos
Apr 30, 2015 rated it really liked it
Shelves: computer
I had a hard time understanding the examples because I don't know C# or Java.

However, that's probably the only downfall I found to this book. Still being youngin' in the programming sphere, this book explained many concepts that you won't see explained in other places, and if they are, not nearly as well. I like how the book organizes the patterns, it makes them easier to find. The best way I found to read the book was looking up certain patterns I already knew or heard of, but wanted to learn
...more
Matteo Tomasulo
Jun 08, 2013 rated it liked it
Shelves: oop, architecture
This book shows its time by now. A lot of this patterns are well implemented inside the most common frameworks or even provided as core language feature which allow you to solve that problem in clearer way.

But the main advantage of the PEAA I think is: terminology. Give the right name to the right things is one of the most common problem in software design specially in new formed teams without great experience.
And this book, even though its age, still helps in this.

edit:
After some time I noticed
...more
Brian
Apr 28, 2008 rated it it was amazing
Shelves: technology
Another one for us techies...

First off, I don't think you can go wrong with Fowler. I know that many will argue with me on that statement, but at least he gets you thinking and defending the points on which you disagree.

This patterns book is a must have on your shelf as well. Great thing this hard back has a built in bookmark because it is heavily used. This isn't a great read from cover to cover, but it is a wonderful reference book. Anytime that I try to design a new architecture, this book co
...more
Alejandro
Oct 21, 2017 rated it it was amazing
A bit dated, but still a very good read.
Although most modern frameworks already adopt most of these patterns, it's useful to internalize the motivations as well as the inner workings of each.
Also, as with any patterns book, it establishes a language that makes discussing architecture with peers easier; and it's pretty clear that the naming put forth here transcended.

Looking forward to reading Integration Patterns.
Kendal Harland
Apr 02, 2017 rated it it was ok
This is a pretty dense book. The concepts are explained in very abstract fashion making them difficult to relate to real-world use cases. UML diagrams are used to model most of the patterns and are, in my opinion, an outdated method for modeling application structure (less detail oriented diagrams often suffice). The author's voice doesn't display heavily, either: paragraphs are dry and uninteresting with very little wit or humor. These are things I've come to expect from technical writing after ...more
Trevor Price
Mar 10, 2016 rated it it was ok
This book certainly shows its age. Some patterns remain quite relevant, but in the year since this was published, IDEs and databases have improved dramatically, which renders some patterns totally useless.

And even if this were a more recent book, the format just doesn't lend itself to easy digestion. In fairness to this book, I can't think of a better way to present the material. But there just has to be a better way. Part of the problem is that the examples are based on 14-year-old tech at this
...more
Miloš Milivojević
Although many of the described patterns are either deprecated or already implemented in most popular enterprise frameworks, it was still very thought-provoking and educational to read about the motivations for their use and ways to implement them - after all, every worthwhile computer science curriculum teaches us how to implement linked lists and a whole other range of data structures that already come out of the box with most languages. Similarly, after reading it cover to cover I tend to cons ...more
Augusto Oberziner
Nov 28, 2017 rated it really liked it
TL;DR
Worth reading, even being "old"

(Not so) Long Version

It covers some things in an "outdated" way like:
- Several patterns on the relational/OO mismatch are covered nowadays by JPA, ActiveRecord and friends, so we don't necessarily need to study them in depth;
- The patterns on Web Presentations which were mostly superseded by frontend frameworks;

However, most patterns are still valid, since the challenges of large enterprise systems (even with newer tech stacks / architectures) still have a lot
...more
Andrew Dalgleish
As programming books go, this one is overly boring, and is really meant as a reference. The patterns are important however, and many systems have been implemented with them in mind. The author is very big into Java and Enterprise Architecture and you'll be a bit lost if you're not in those spheres of thinking.
You pick it up when you have to implement something or understand a system that follows the patterns contained within. Each pattern is annotated with references to other patterns so its eas
...more
Joe
Jan 02, 2007 rated it it was amazing
This is the definitive reference on patterns in application development. The Gang of Four book is a classic reference on patterns, but the patterns there are lower level. And they are useful, but never had as much of an impact as this book. When reading this book, I immediately recognized many of the patterns and really value having a vocabulary to talk about application design decisions. This is a must read book for advanced application developers and architects.
Josh Readmore
Jan 28, 2009 rated it it was amazing
An extremely influential book - unfortunately, going Domain Model for all data access has turned out to be a monumental failure. But it was a good try - and all of the patterns in this book are common and legit.
Christian Rondeau
This was my entry point in the software architecture field, which made me realise there's much more to software than code.
Reggie
Jul 22, 2008 rated it really liked it
This is a solid book. It wasn't as useful to me as I had hoped, but I'd still recommend it as a good resource.
André Gomes
Nov 22, 2011 rated it really liked it


A must read for software folks.
Piotr
Dec 13, 2017 rated it it was ok
Shelves: it
Disappointing. The book was written in times when SQL databases were an exciting innovation starting to dominate the market. As result many problems described are no longer faced by the majority of programmers, for many we know better solutions than those suggested. This makes the signal to noise ratio rather low. Some patters no longer need to be implemented, as they have become a basic functionality of popular frameworks - all you get is that you understand better why frameworks do some things ...more
Eric Perazzo
Mar 11, 2019 rated it really liked it
The book is quite old (2002) but it's still relevant. I read the first part carefully and then took a quick look at the second part, where Fowler catalogs the patterns.

It's important when to use them, but the second part should be used as a reference whenever we feel some of them should be applied.

It's worth noting that most of the modern frameworks make use of some of the patterns described by the book (e.g., Symfony/Doctrine: Unit of Work, Domain Models with Data Mapper, Query Object, Front Co
...more
Sancho Panza
Jul 30, 2018 rated it it was amazing
A fantastic book, both from a historical and technical context. A required read for anyone working with a legacy system or building their own. The patterns mentioned (while not all completely relevant in 2018) can still resonate in many situations and can be applied to any architecture built today (from monolith to serverless).

At times, it's humorous reading Fowlers assumptions about system design and message passing, but one must put it in context of 2001.

I would recommend this book to any int
...more
Lassi Autio
Mar 20, 2018 rated it liked it
Book has a good catalog of various patterns. Most of the patterns are explained even too deeply to read when reading the whole book. My recommendation is to read beginnings of each pattern. And if you someday need that pattern then you can read the whole chapter about that pattern.
From some parts, book is maybe little outdated. For example, web presentation patterns have changed a lot since 2003.
The book contained some patterns that I was already familiar with but I just hadn't recognized them a
...more
Rory Armstrong
Mar 30, 2019 rated it really liked it
Some of it felt not as relevant today as when it was written but a lot of the patterns are still great such as the Unit Of Work, Domain Object, and Optimistic/Pessimistic Locking patterns.
There's probably other technical books I'd read before this (Clean Code, Working Effectively with Legacy Code, Effective 'Insert lanuage here' etc) but for moving more into the architecture side of things this is a good one.
Marko Kunic
Aug 31, 2018 rated it it was amazing
Another great book from Martin Fowler. This book is in my eyes basically a continuation of GOF. The first part of this book is a short tutorial on developing enterprise applications. The second part is about patterns used in the first part. You will learn a lot about ORM patterns. Book also talks about Distribution patterns, Web Presentation Patterns, Concurrency Patterns, Approaches to organizing Business logic.
Jaaved Ali Khan
Jun 27, 2017 rated it really liked it  ·  review of another edition
Excellent book to understand patterns

Awesome book to read to understand the underpinning patterns of frameworks- that definitely improves ones understanding of why and how to use pattern.
Justin
Aug 07, 2018 rated it it was ok
Shelves: software
I only found the concurrency section useful. Most of the book seems dated in 2018, such as object-relational structural patterns, which have matured in ORMs, and web presentation patterns, which discuss mainly MVC.
David Postle
Jul 16, 2018 rated it really liked it
Great reference for how to stitch things together reliably. Bit dry reading, but lots of hard-won experience to be gained.
Arjay
May 03, 2014 rated it really liked it  ·  review of another edition

The practice of enterprise application development has benefited from the emergence of many new enabling technologies. Multi-tiered object-oriented platforms, such as Java and .NET, have become commonplace. These new tools and technologies are capable of building powerful applications, but they are not easily implemented. Common failures in enterprise applications often occur because their developers do not understand the architectural lessons that experienced object developers have learned.

Patt

...more
« previous 1 3 4 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
  • Refactoring to Patterns
  • xUnit Test Patterns: Refactoring Test Code
  • Agile Software Development, Principles, Patterns, and Practices
  • Smalltalk Best Practice Patterns
  • Domain-Driven Design: Tackling Complexity in the Heart of Software
  • Software Estimation: Demystifying the Black Art
  • Growing Object-Oriented Software, Guided by Tests
  • Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development
  • Object-Oriented Software Construction (Book/CD-ROM)
  • The Productive Programmer
  • Applying Domain-Driven Design and Patterns : With Examples in C# and .NET
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • Working Effectively with Legacy Code
  • Object-Oriented Analysis and Design with Applications
  • 97 Things Every Software Architect Should Know: Collective Wisdom from the Experts
  • Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries
  • Practices of an Agile Developer: Working in the Real World
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
597 followers
Martin Fowler (b. 1963) is a software engineer, Chief Scientist at ThoughtWorks, and an outspoken advocate for best practices in enterprise software design, particularly in regard to agile software development methodologies, including extreme programming.

Other books in the series

Martin Fowler Signature Book (1 - 10 of 11 books)
  • xUnit Test Patterns: Refactoring Test Code
  • Refactoring to Patterns
  • Refactoring HTML: Improving the Design of Existing Web Applications
  • Beyond Software Architecture: Creating and Sustaining Winning Solutions
  • Refactoring Databases: Evolutionary Database Design
  • Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation
  • Domain-Specific Languages
  • Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
  • Continuous Integration: Improving Software Quality and Reducing Risk
  • Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services
“First Law of Distributed Object Design: Don’t distribute your objects!” 0 likes
“Architectural refactoring is hard, and we’re still ignorant of its full costs, but it isn’t impossible. Here the best” 0 likes
More quotes…