1

Patterns of Enterprise Application Architecture

 3 years ago
source link: https://www.amazon.com/gp/product/0321127420/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=0321127420&linkCode=as2&tag=ploeh-20
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Top reviews

Top reviews from the United States

Reviewed in the United States on July 30, 2018
Verified Purchase

I wish I had read all of the negative reviews rather than the review selected at the time as the top-negative review. This book is an exercise in frustration. One would have to see how far one would get before stopping. I made it almost to the end of the third chapter just before the web-presentation chapter. After reading so many disconnected sentences, paragraphs, and topics, I started to wonder what the author was even trying to do or say. Finally, I came to the conclusion that the author was trying to say everything but wound up saying nothing or worst makes contradictory statements but does not state clearly what he is comparing and contrasting. For example, in one section, the author recommends ORM as the must-have (You should seriously consider buying an O/R mapping tool..., page 37) and then bashes a serous shortcoming of ORM without stating that this is a shortcoming of ORM. (It's usually better to use one query that brings back unnecessary rows than to issue 50 individual queries, page 40) Unfortunately, one would have to deduce this connection based on years of experience having focused on the differences between ORM and using database queries to know that one-to-many relationships in ORM has serious shortcomings--each of the many relationships results in a query. While comparing technologies and making sure to consider alternatives is a great goal and many strive to achieve this balance, the author isn't achieving anything and certainly is not presenting best practices. What I finally concluded is that the author is engaging in a stream-of-consciousness presentation where the author's opinions on everything is deeply intertwined within the text, contradictory information is presented without fully explaining a technology, and worst-practices are presented. For those interested, you can read the book to find out for yourself and wonder if the author really is advocating some worst practice.

36 people found this helpful
Report abuse
Reviewed in the United States on October 25, 2016
Verified Purchase

The patterns in this book are as relevant today as they were when Fowler wrote them out 14 years ago. You'll find these patterns used in most of the popular (regardless of language) web development frameworks use today. I've owned this book for 7 years and I reference it often as I plan and build enterprise architecture. I came here specifically to write a review after pulling the book down to plan out a new application. To use a cliche, it has stood the test of time.

I read in a review that this book is biased toward java: I must disagree--while most of the example are in java (chosen because its a language most developer, at least, know how to read, if not program in), the concepts are universal and can be applied to almost any object oriented language. I've never programmed an enterprise application in Java--yet, it is my go to book when designing architecture for my language of choice.

So if you are thinking are buying this and think it is dated: Its not.
Or think its for java devs: its not.

There's my two cents

17 people found this helpful
Report abuse
Reviewed in the United States on January 5, 2019
Verified Purchase

This book is required reading for any solution architects or developers working on enterprise software. While there are many new patterns that aren’t covered in the book, the contents of this book should be second nature to anyone aspiring to design enterprise class solutions.

Reviewed in the United States on July 13, 2017
Verified Purchase

This is a book that has stood the test of time incredibly well. If you want to understand the patterns and architectural principals *behind* the frameworks people use to make complex business or web software, this is fantastic.

4 people found this helpful
Report abuse
Reviewed in the United States on January 1, 2019
Verified Purchase

There are no pages from 328 to 345.

7 people found this helpful
Report abuse
Reviewed in the United States on September 28, 2005
Verified Purchase

As a software developer, the problem space for an application is quite different in the Enterprise than it is for a small domain. This being stated (and is in the book), Mr. Fowler quickly points us to effective patterns to be used for developing enterprise applications. Like the Gang of Four book, this book is a catalog and a good description of the patterns to be used in this space. Mr. Fowler has long been a guru in software engineering and this book clearly shows why. The text is very well written, easy to follow, and indicative of someone who knows what they are talking about, not only from a clear thought process, but from experience as well. This should clearly be a book that sits along with the Gang of Four book on your shelf (Design Patterns) for the Enterprise developer or someone interested in enterprise development.

7 people found this helpful
Report abuse
Reviewed in the United States on August 10, 2016
Verified Purchase

A great book of well written information. Clear and opinionated with great reasoning behind it. It is showing its age whats called a rich client vs a web gui/presentation.

One person found this helpful
Report abuse
Reviewed in the United States on October 22, 2008
Verified Purchase

Motivation

I didn't look at this book for a long time simply because of the word "enterprise." I felt the word was too overloaded to be useful. I've heard too many managers, recruiters, and other programmers use this word to mean too many different things. Fowler defines enterprise application as "the display, manipulation, and storage of large amounts of often complex data and the support or automation of business process with that data." By that definition every system I've ever worked on has been an enterprise application.

Cons

A dense, tough read. I almost wish I was at a whiteboard or kept a notepad while reading.

Pros

Fowler gives a fantastic presentation of how to design software using databases, distributed components, etc. This is given through good narratives and anecdotes of Fowler's own experiences, and also through the patterns distilled from these.

The best thing I can say about this book is I would put it fourth in the list of books-I'd-like-anybody-I'm-working-with-to-have-read, right after to Design Patterns, Refactoring, and Extreme Programming Explained.

Summary

As with most patterns books, not everything in here is an amazing revelation, but the common approach, terminology, and ways of categorizing problems and solutions make it very valuable.

Programmers who utilize design patterns and refactoring, and who work on software systems involving distributed components and/or databases should take a look at this book.

9 people found this helpful
Report abuse

Top reviews from other countries

default._CR0,0,1024,1024_SX48_.png

5.0 out of 5 stars

it's still useful to know how things work

Reviewed in the United Kingdom on July 28, 2017
Verified Purchase

I try to keep it close by, and reference it as much as it makes sense. Really a must have for any serious developer, even if most of the patterns are obsolete these days, it's still useful to know how things work, or how most frameworks are built underneath. Although the languages used are Java, C++ and C# in the book, all the principles apply. It's only up to the reader to know how mature a language is to determine if there is something already available in the framework that they're using or if they need to implement something on their own.

3 people found this helpful
Report abuse
default._CR0,0,1024,1024_SX48_.png
Martin Anderson

5.0 out of 5 stars

All Developers should read this

Reviewed in the United Kingdom on June 4, 2009
Verified Purchase

With the increasing usage of higher level languages, the importance of design patterns is also increasing and this book is an excellent compendium of the patterns that you need the most.

While there are a lot of patterns here that can be found among those proposed by the Gang of Four or found at Sun's BluePrints website, the explanations of the significance of the pattern and when and where it should be used makes it invaluable to programmers. The patterns covered are almost perfect in that they cover the most commonly used patterns as well as the patterns that can make the biggest difference. It's not perfect though as there are a couple of patterns that you feel were included to make up the numbers ('Money' being the most obvious offender).

Incidentally, it's also a great source for disambiguation of terms too where disparate teams can use terms from this book as a common reference. Very useful when dealing with remote teams.

2 people found this helpful
Report abuse
default._CR0,0,1024,1024_SX48_.png
Mike F.

5.0 out of 5 stars

A must-have book for all Enterprise Architects - developer or not!

Reviewed in the United Kingdom on March 25, 2021
Verified Purchase

Firstly, from comments about the paperweight of the pages, I was expecting to receive something that resembles the pages of a missal, which are very thin. Worry not!

I am a non-developer and have found this an easy read, and dare I say compelling! I don't understand all of it, but it has certainly enhanced my understanding to be better able to comprehend the architecture behind the code I am reviewing.

default._CR0,0,1024,1024_SX48_.png
pacofraggle

5.0 out of 5 stars

One of these books that make you feel confident with your skills

Reviewed in the United Kingdom on February 4, 2013
Verified Purchase

I consider this one as a basic reference on my bookshelf. While I found GoF very useful as one of this books that make you think and show you the way to your programmer's career when you are not very experienced, Fowler's book adds the enterprise touch in a way I enjoy each time I get back to the book.
I tells you about those many things in real life applications that you may have not come across yet and you need to develop carefully when you are working in a big project.
The enterprise approach to patterns is light but described in a rigorous manner.

I must confess I enjoy these books that are not tied to a given version of a given language much more than the rest.
The information you get is more open and you get a better understanding of the big picture.
If this one doesn't become a timeless reference (the way our profession changes I wouldn't dare to say so from any book), it will sure stand as a classic of its era.

4 people found this helpful
Report abuse
default._CR0,0,1024,1024_SX48_.png
Sohnee

5.0 out of 5 stars

A fundamental read for software professionals

Reviewed in the United Kingdom on October 22, 2014
Verified Purchase

This book is a fundamental read for software professionals. The benefit of shared language in software design is unquestionable and this book describes the architectural patterns (as opposed to the GoF design patterns, which are more granular). The book is well written, with a surprising amount of humour that makes it an easy read.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK