Domain-centric architectures
A domain-centric architecture, to reiterate, is an architecture with the domain at the center. Around the domain is a layer for application logic, and then around that is a layer for the infrastructure or external concerns. The purpose of the architecture is to keep the domain free of any outside influences such as database specifics or framework concerns.
Before we discuss more about domain-centric architectures, let’s first look at some traditional, or enterprise, architectures.
Figure 2.3 – Some traditional architectures
The problem teams will notice with traditional architectures is that, over time, the cost to maintain the application increases. These architectures are also hard to update when infrastructure choices or requirements have changed. In both architectures from Figure 2.3, the applications are broken into layers and are not much different conceptually. It isn’t the layers that are the cause...