Patterns of Enterprise Application Architecture
||Author: Martin Fowler|
List Price: $49.99
Our Price: Click to see the latest and low price
Publisher: Addison-Wesley Pub Co (05 November, 2002)
Sales Rank: 979
Average Customer Rating: 4.34 out of 5
Customer ReviewsRating: 5 out of 5
Everything Martin Fowler writes is 5 stars
If you've read Refactoring or UML Distilled, or Planning XP, you won't be disappointed with this Fowler book. He's the clearest writer and thinker in the Agile/XP/Patterns group of authors.
The book is particularly strong in describing how to map between a persistent relational database and an in-memory object representation of business logic. Fowler distills the various approaches to their essence, clearly presents the tradeoffs and defines an intuitive vocabulary to make it easier for development teams to discuss how the patterns apply to their unique application.
Rating: 5 out of 5
An excellent resource to understand the different architecture patterns, kept very simple and precise to the point.
Thanks to the author for coming up with this book.
Rating: 3 out of 5
Interesting But Muddled
Overall, I was disappointed by this book. I develop business applications, and I was hoping this book would provide practical insights about developing business applications, more specifically in the database/web realm. While this book does contain some interesting piece of information, it really is not of immense value to a developer such as myself. Here's why:
This book is a bit of a mishmash of different things. It starts off promisingly enough with 3 general approaches to business apps: Transaction Script: The procedural/transactional approach; Domain Model: The OO approach; and Table Module: The data-cetric approach. So far so good.
Unfortunately the book then seems to steer off to the topic of "Things to think about if you are writing your own object-relational mapper." It's not as sexy, but I think that's perhaps what the title of this book should have really been!
The book then goes on to talk about different ways to architect Web applications, again mostly getting into how to develop framework code, which one largely would take for granted if one is deciding which framework to use rather than rolling one's own.
Finally the book talks a bit about locking strategies and then presents a few generic items (e.g. the concept of a Money class or a Registry class).
I believe there is (or ought to be ) a sharp distinction between framework development and business application development. Business application developers use existing frameworks and the primary decision is what framework to use. If you are a framework developer and you want to build your own MVC Web Development Framework (e.g. Jakarta Struts) or an O-R Mapper (e.g. Hibernate), then the entire contents of this book will be of interest to you; otherwise, if you are a business apps developer, only a small fraction of this book will be useful.
· Beyond Software Architecture: Creating and Sustaining Winning Solutions
· Refactoring: Improving the Design of Existing Code
· Test Driven Development: By Example
· Design Patterns
· Enterprise Integration Patterns : Designing, Building, and Deploying Messaging Solutions