Book Review : Patterns of Enterprise Application Architecture

Verdict : Essential reading for all software developers








Patterns of Enterprise Application Architecture (The Addison-Wesley Signature Series) (PEAA) book is not a typical technical text-book. The reason being it is very much a book of two halves.

The first 106 pages cover at a high level the most common software design patterns used in enterprise application development.

The remaining 500+ pages are split into 10 chapters covering the specifics of 51 different design patterns.

All of the patterns covered can typically be found in any number of modular software development frameworks which consist of a data access layer, inherited controls and handlers. Reading Patterns of Enterprise Application Architecture (The Addison-Wesley Signature Series) provides you, good background of the environment these patterns are being used in.

If you develop enterprise software applications you will find this book very useful and undoubtedly regularly use it as a reference manual.

The Software Design patterns discussed in this book are platform and language agnostic, so can be applied virtually anywhere. However, you should proceed with caution and don’t try to push all available patterns into all of your applications, but you should only use patterns of this book when you face problems that your tools don’t solve or solve poorly.

Whats in this book?

This book catalogues software design patterns commonly used when developing Enterprise Software Applications:

  • Domain Logic
    Transaction Script, Table Module, Domain Model, Service Layer
  • Data Source
    Table Data Gateway, Row Data Gateway, Active Record, Data Mapper
  • Object-Relational Behavioral
    Unit of Work, Identity Map, Lazy Load
  • Object-Relational Structural
    Identity Field, Foreign Key Mapping, Association Table Mapping, Dependent Mapping, Embedded Value, Serialized LOB, Single Table Inheritance, Class Table Inheritance, Concrete Table Inheritance, Inheritance Mappers
  • Object-Relational Metadata Mapping
    Metadata Mapping, Query Object, Repository
  • Web Presentation
    Model View Controller, Page Controller, Front Controller, Template View, Transform View, Two Step View, Application Controller
  • Distribution
    Remote Facade, Data Transfer Object
  • Concurrence
    Optimistic Offline Lock, Pessimistic Offline Lock, Coarse-Grained Lock
  • Session State
    Client Session State, Server Session State, Database Session State
  • Miscellaneous
    Gateway, Mapper, Layer Supertype, Separate Interface, Registry, Value Object, Money, Special Case, Plug-in, Service Stub, Record Set

Conclusion

The patterns catalogued and described by Martin Fowler will help you understand what happens behind the scene and use this knowledge for optimizing, troubleshooting, and improving the design of your applications.

This book has something valuable for everybody. If you are new to the industry, you will learn about common recurring problems in building enterprise applications and study techniques to solve them. If you used these patterns before, you will deepen your understanding of them.

Gary Woodfine

Freelance Full Stack Developer at threenine.co.uk
Helps businesses by improving their technical proficiencies and eliminating waste from the software development pipelines.

A unique background as business owner, marketing, software development and business development ensures that he can offer the optimum business consultancy services across a wide spectrum of business challenges.

Affiliate Disclaimer

Disclosure: Please note that some of the links included in the blog posts are affiliate links, which means I will earn a commission if you decide to make a purchase.

I only include affiliate links to products, services and companies that I have personal experience and have actually used. I only recommend them because they are helpful and useful, not because of the small commissions I make if you decide to buy something.

Please do not spend any money on these products unless you feel they are relevant, suitable and will help you achieve your goals.

Buying anyone of these products and the commisions earned will not make me an overnite multi millionaire, but they will help to cover the hosting costs and compensate for the countless hours and effort I put in to create meaningful and valuable free content I provide to help others succeed.

You've also undoubtedly noticed that I also use various advertising networks - unless of of course you're using an Ad blocker, this is also an attempt to reduce my monthly deficit I experience in providing free relevant, valuable and on occassion insightful content for the benefit of others.

I only really make some money if people click on the ads, unless of course you consider 1c per 1000 impressions real money!

Bear in mind just how many impressions I need to make before I can cover my £20 hosting costs a month!

If you are using an adblocker and guilt stricken you can of course donate using any of the buttons below, but I won't be holding my breath.


Buy me a coffeeBuy me a coffee
π