Patterns of Enterprise Application Architecture
So far, we have only discussed Separation of Concerns between the Apex code invoked from an execution context (Apex Controller, Scheduler, Batch Apex, and so on) and reusable application business logic code placed in the Service
classes. However, there are further levels of granularity and patterns that help focus and encapsulate application logic further, known as Enterprise Application Architecture patterns.
The general definitions of the patterns used in the next three chapters of this book are not inherently new, but are a new implementation for this platform. They have been and continue to be incredibly popular on other platforms. The original author of these patterns is Martin Fowler, who describes the other patterns in his book, Patterns of Enterprise Application Architecture (http://www.martinfowler.com/books/eaa.html)
This book takes some of the patterns in Martin Fowler's book and applies them to the platform while also taking the opportunity...