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.13  ·  Rating details ·  2,618 Ratings  ·  103 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)
Rating details
Sort: Default
|
Filter
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
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.
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
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
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
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
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.
Leonids 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
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
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
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
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.
André Gomes
Nov 22, 2011 rated it really liked it


A must read for software folks.
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.
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
Борис Кучин
Долго-долго хотел почитать эту книгу. В итоге, когда прочитал, скорее, разочаровался. Она достаточно сухая, с кучей перекрёстных ссылок и, скорее, справочник. Т.е. если хочется посмотреть, что такое ActiveRecord, чем он отличается от DataMapper и какие ещё есть похожие решения, то можно посмотреть в книгу. Можно, наверное, и в Википедию посмотреть вместо этого. С другой стороны, из этого всего выстроена какая-то система, поэтому книга скорее понравилась, чем "ну книга и книга".
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.
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
Stijn
Jun 23, 2017 rated it it was ok
Nice read but not every topic was something that I really needed now. Sometimes the way it's presented wasn't (in my point of view) always attractive.
Giorgi Bakradze
Aug 15, 2017 rated it it was amazing
Missing piece in my holistic understanding of building enterprise applications
Howzgoingon
Aug 03, 2017 rated it liked it
This review has been hidden because it contains spoilers. To view it, click here.
Russell
Oct 18, 2007 rated it really liked it
From the Back Cover

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 developer
...more
André
SOFTWARE-ENTWURFSMUSTER IN GESCHÄFTSANWENDUNGEN

z.B. für den Umgang mit objekt-relationaler Unverträglichkeit (impedance mismatch), mit Nebenläufigkeit oder Sitzungszuständen (locking & session patterns). Auch wenn DataMapper, UnitOfWork usw. in der Praxis ziemlich unsexy sind (google OopNotForDomainModeling), kennen sollte man sie dann vielleicht doch: Es sind regelm. verwendete Lösungen für die Probleme objekt-orientierter Anwendungen.

Das Buch enthält daneben auch paar elegantere Muster, e
...more
Ben Rand
Apr 26, 2013 rated it really liked it
Shelves: programming
I wish that I had stumbled on the notion of software design patterns much earlier in my programming career. I'm not sure I would have understood any of it back then. This was still a bit much...but it was interesting to recognize how some of these patterns manifest themselves in Rails, or EntityFramework, or any other number of relevant technologies.

By chance, I just picked up Professional ASP.NET Design Patterns. I started into it yesterday, as I was finishing this book. This second book builds
...more
Katherine
Aug 12, 2015 rated it liked it
Fowler is a good author to read for these sorts of "classic" C.S. tomes. This isn't quite what I was expecting in that I thought it would be a lot more prescriptive about what you should do for enterprise apps, but that isn't his style, and also that would've made the book further dated (there were a fair number of patterns that generally we figured they're taken care of for you by modern frameworks). So it was interesting to learn these terminologies and descriptions and such and see how the fr ...more
Mike
Sep 20, 2007 rated it it was amazing
Shelves: development
Excellent text on software patterns; most of these patterns will apply to architectures that arise in "putting something on the web". This book operates on a level above syntax or how-to's. It not a coding guide, or a cookbook. It does not explain HTML or CSS or XML.

If you have got to the point in your practice where you spend more time than you should deciphering past decisions and parsing ad-hoc piles of reactionary syntax this book will probably help.

Don't read this unless you are a developer
...more
Hampus Wessman
Jul 24, 2015 rated it really liked it
This is still a valuable collection of commonly used design patterns, in my opinion. Just don't expect to find the latest trends, cutting edge technology or prescriptions of what design is "the correct one" in this book. Quick fixes are better sought elsewhere. Also, if you use some kind of ORM library and a modern web framework, then many (but not all) of these patterns will likely be implemented for you in some way already. In any case, it's useful for most software developers to have at least ...more
« previous 1 3 4 5 6 7 8 9 next »
There are no discussion topics on this book yet. Be the first to start one »
  • Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
  • Domain-Driven Design: Tackling Complexity in the Heart of Software
  • Refactoring to Patterns (Addison Wesley Signature Series)
  • xUnit Test Patterns: Refactoring Test Code
  • Agile Software Development, Principles, Patterns, and Practices
  • Growing Object-Oriented Software, Guided by Tests
  • Smalltalk Best Practice Patterns
  • Working Effectively with Legacy Code
  • Rapid Development: Taming Wild Software Schedules
  • Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • Applying Domain-Driven Design and Patterns : With Examples in C# and .NET
  • Object-Oriented Software Construction (Book/CD-ROM)
  • Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)
  • Implementing Domain-Driven Design
  • The Productive Programmer
  • Beautiful Code: Leading Programmers Explain How They Think
  • Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
25215
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.
More about Martin Fowler...

Other Books in the Series

Martin Fowler Signature Book (1 - 10 of 11 books)
  • xUnit Test Patterns: Refactoring Test Code
  • Refactoring to Patterns (Addison Wesley Signature Series)
  • 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…