Architecture Notes
Domain-centric Architecture has the domain as the centre of universe. Domain is the
abstract representation of the business problem solved, i.e. business language and it is not a
space for classes, attributes that pertain to the implementation details of the application.
All the dependencies point towards the centre of the architecture that is no inner layer
knows about any outer layer. Can be tested in isolation.
Figure 1 Modern Four-Layer Architecture
Figure 2 Application Layer
Figure 3 Layer Dependency
Figure 4 Example Project
Figure 5 Why Use an Application Layer
Figure 6 Single-Database CQRS
Figure 7 Two-Database CQRS
Figure 8 Event Sourcing CQRS
Figure 9 Event Sourcing CQRS
Figure 10 pros and cons of CQRS
Figure 11 Why use functional organisation?
Functional cohesion is being used to organise classes, functions, and name spaces of the
system. Also, the organisation of each layer in the system needs to express the intend of the
application.
Figure 12 Bounded Context for Microservices Architecture
Figure 13 Why use Microservices?