Updates

Latest Tweet



What's New?

Check out for latest innovation, a computer based training video collection


Like this Page

Enterprise Patterns and MDA: Building Better Software with Archetype Patterns and UML Review by Thing with a hook

truly excellent catalogue of enterprise patterns

This book is unfortunately mistitled. It should have just been called 'Enterprise Patterns'. Perhaps the extra bumf in the title is attractive to some readers, but when I see big subtitles with 'MDA' and 'UML' in them, I immediately think of that most unfashionable of things in these Agile times: Process. Ugh! Dirty word! You may therefore be thinking this is a really tedious book full of bullet points and flow charts. But in fact it's a totally brilliant book, with a few flow charts and bullet points in, admittedly.

There's hardly any MDA in this book at all. There's a chapter on using a specific software tool to convert the patterns in this book into code, but I've already forgotten what it was called.

The meat of this book is a catalog of UML patterns associated with the enterprise domain. If you've read Martin Fowler's Analysis Patterns, you'll know what to expect: Customer, Party, Rule, Money, Quantity, Order etc. The authors mention Analysis Patterns, but call their patterns 'archetype' patterns. The difference between the two is that the archetype patterns are much more detailed.

So do you need to read this if you've read Analysis Patterns? I say yes. This is in fact better than AP, simply because when they say their patterns are detailed, they aren't joking. Fortunately, the authors advocate a 'literate modeling' approach, that explains the interactions in plain English, and the authors' writing is clear and unstodgy, effectively highlighting the important parts of each pattern, and where variation can be introduced. They claim their archetype patterns are sufficiently flexible to cover a wide range of enterprise, and I have to say they do a very good job of convincing you they've thought of most of the special cases, and how to unify them in one pattern.

Even if you aren't actually an enterprise programmer (and I'm not), I still highly recommend this book, just for the large number of examples of how to successfully model a complex domain. Plus, no tedious accounting or financial examples - bonus.