Chapters from the Core J2EE Patterns book have been made available for download. The J2EE Patterns Overview chapter looks at basic concepts behind J2EE patterns, examines the tiers for pattern categorization, and explores the relationships between different patterns. 'Business Tier Design Considerations and Bad Practices' looks at design issues when applying business and integration tier patterns.

This is a pretty good book. My only real compliant about it is that I read Martin Fowler's "Patterns of Enterprise Development" first, and the two books cover a lot of the same ground. As a result, I prefer Fowler's book over the Core J2EE Patterns book. I know other people who read the Core J2EE Patterns book first, and therefore prefer it.

Paul: My impression of the Martin Fowler book is that it tries a little too hard to encompass .NET "patterns" as well as J2EE and to justify certain "patterns" which would never have made it into a J2EE pattern book (except perhaps under the title "antipattern".
I guess with any two pattern books there are going to be a lot of overlapping patterns and information.

My impression of the Martin Fowler book is that it tries a little too hard to encompass .NET "patterns" as well as J2EE and to justify certain "patterns" which would never have made it into a J2EE pattern book (except perhaps under the title "antipattern".

Why do you think that a book that covers patterns for specific technology (J2EE) is better then a book that covers patterns independent of the particular technology used ? I found Fowler's book much better (for a J2EE developer) then any J2EE patterns book. One of the reason is that it is developer platform independent and lets J2EE developer understand what are advantages and what are disadvantages of J2EE platform. Fowler's book is a great reading for development of any 'enterprise' application, either it is database oriented, distributed, web based or all of that, either you are J2EE, .NET, C++, Delphi, Oracle or even COBOL developer.

When you are talking about "antipatterns" in Fowler's book, I suppose you think about 'Table Module' and 'Transaction Script' domain layer patters. Well, I would absolutely agree with Fowler that there are situations whare these patterns are applicable and a right decision. For example, using Table Module pattern would be a good choice for developing data editing intensive applications for .NET, even more if the team is not strong enough to take Domain Model approach. Also 'Transaction Script' can be usefull for a very small or prototype applications.

Also, I don't find any pattern in Fowler's book that is .NET specific pattern. For example, Table Module pattern is used in Borland's Delphi environments since 1995.

The "Gang of Four" book is different in that it covers design (lower level) OO patterns applicable to all OO development (enterprise applications, system development, embeded applications, real-time applications...).

Hmm. I didn't mean to give the impression that Fowler's book is "better" than the Core J2EE Patterns book. I think they are both good, and I am happy I have both books in my library. The problem is, by the time I got around to reading the Core J2EE Patterns book, I already knew most of what the book talks about. Therefore, I did not enjoy reading it as much as I enjoyed reading Fowler's book, which I picked up earlier in my career.

Here is my capsule comparison of the two books:

Patterns of Enterprise Architecture is more platform-neutral, and spends time talking about patterns generically (as they apply both in J2EE and .NET). He also spends time addressing very rudimentary patterns, like "Table Module" and "Transaction Script". These simple patterns may be considered anti-patterns by some people, but they are applicable is some cases: simple patterns work for simple applications.

The Core J2EE Patterns book is J2EE-specific. Therefore, it contains a lot more J2EE details, including much more extensive code samples. The J2EE Patterns book also spends more time discussing how the patterns fit together into a layered architecture. In fact, taken as a whole, the Core J2EE Patterns book gives you a pretty complete, shrink-wrapped architecture.

Personally, I feel that it is better to move from general to specific, so I recommend reading Patterns of Enterprise Architecture first, then Core J2EE Patterns. If you really only want to read one of them, then I suggest you go for the Core J2EE Patterns book if you want more code samples and J2EE specific details, or Patterns of Enterprise Architecture if you prefer "big picture" generalities.

Recently I attended a presentation by John Crupi (co-author) in Richmond. It sounded as if Martin Fowler and the authors knew each other in the days before the first edition.

Although I can't recall exactly what was said about their "collaboration", it was clear that the two parties discussed topics of mutual interest, even going so far as to influence the naming of certain patterns.

TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations technology projects - with its network of technology-specific websites, events and online magazines.