Andrewj.comObserver
Architect
Developer
Photographer
Traveller
Writer
Reviewer
Thoughts on the World
    • Welcome PageArchitectDeveloperPhotographerTravellerWriterObserverReviewerLinks

Core J2EE Patterns

Best Practices and Design Strategies, By Deepak Alur, John Crupi & Dan Malks

Posted on 5 April 2002 by Andrew - Please share: All Addthis servicesTweet thisFacebook thisLink thisYam thisShare on Google

Summary


How do the rankings work?
Content 7/10
Readability 6/10
Presentation 3/10
Ideas 6/10
Value for money 7/10
Did it do what it said on the box? 6/10

The Review

A good book, but with a shorter book trying to get out

This is a good book, but with a shorter book trying to get out.

I’ll be honest, I was really was looking for a book called something like "Enterprise Java for an Architect who knows a lot about Microsoft DNA but not much about Java". This is the closest I’ve found. It is a very good presentation of how the different elements of the J2EE stack are meant to
fit together, common problems and patterns which address them.

There are some very good things about this book. It really tries to explain the design forces which lead to good and bad solutions, and does try to put all the different patterns into the context of a "roadmap" so you can see how they link together. One of the best ideas in the book is actually in the epilogue, where the authors introduce the idea of building an architecture via a UML diagram built from stereotypes for the patterns. I can see this being widely adopted as a useful technique.

The big problem with the book is it is dreadfully repetitive. It’s not sure whether it’s a textbook, a reference book or a design tutorial, so it tries to be all three. The same text gets repeated over and over again, not only between sections but even within a section. By attempting to make each pattern, and each
"strategy" within a pattern self-sufficient there’s an awful lot of repeated text, sometimes even on one page. Some patterns almost exact copies of one another and should arguably be strategies for a single pattern. Text is often repeated between the "Problem", "Forces" and other
sections of the same pattern, where a better  trade-off would be references to a single list of more detailed descriptions. At the same time there are too many self-references in the text, even back to the start of the same section!

I found the repetition and overlap between the "design considerations", "bad practices" and "refactoring" sections confusing – it would be better if they all formed part of a single roadmap with the main set of patterns. There’s an established concept of "Anti-patterns", which could easily serve for bad practices and refactoring ideas, and these could also be reflected as part of the "forces" for the  patterns.

Adopting all of these patterns could lead to a very complex layer structure, with a great many classes involved in the simplest task. Several patterns seem to be about wrapping the complexities of J2EE, and you wonder whether there ought to be a more systematic solution to this. The book doesn’t discuss
"managing complexity in the design", but if it did it might come up with some simplifications.

While I’m not aware of an equivalent book with a Microsoft focus, with a little effort you could also apply many of these patterns in the Microsoft world. However, there are some good Visual Basic patterns books which show how this should have been written. A provocative idea – does the difference between this and equivalent VB books reflect the difference in productivity of the languages?

My advice? If you need a good J2EE design pattern reference buy this book, but don’t try to read it cover to cover.

Buy It From Amazon

Categories: Reviews. Content Types: Book and Software Architecture.

This entry was posted in Reviews. Bookmark the permalink.
Previous Post: Inside the Third Reich
---- Next Post: The Hut Six Story

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Thoughts on the World Proudly powered by WordPress.

Main Pages

Welcome Page

Architect (Consultancy services)

Developer (Services and Products)

Photographer

Traveller

Writer (Publications and Papers)

Observer (My blog)

Reviewer

Links

Blog Contents

Post Category:

Review Type:

  • Recent Posts

    • When You Wish … A Different Approach To Sourcing
    • The World’s Worst Panorama 2023
    • Rainbows Rising
    • Have I Offended El Gauchito Gil?
    • We’re Going on a Guanaco Hunt!
  • Recent Comments

    • Divitel on It’s Screen Time!
    • Mike Parnell on Camera History
    • ValueBlue on What Do I Mean by "Agile Architecture"?
    • Robert on Combining Risk Factors
    • Paul M Turner on Typically Tropical!
  • Blog Indexes

    Favourite/Major Articles

    All Articles by Category

    All Articles by Title

    Review Index

    Search

    References to www.andrewj.com

    References to www.agilearchitect.org

    Contact Me

    Email me

    @TweetAndrewJ

    Others

    Share

    Facebook

    Google

    Twitter

    Linked In

    Yammer

    Share

    Feeds

    @TweetAndrewJ

    Thoughts on the World (Main Feed)

    Main feed (direct XML)

    Professional Blog

    Photo Blog

    Photo Album

    Review pages

    About my feeds

    © Questa Computing Ltd. 1994 - 2023:
    Questa Computing Ltd. is registered in England and Wales number:2889117.
    Registered office: Coppertrees, Forest Road, Effingham, Leatherhead, KT24 5HE
    Credits, copyright details and cookie policy