Infrastructure

The job of the infrastructure is to provide technical capabilities for other parts of your application. While avoiding a discussion about Layers (4), it is still useful to maintain a Dependency Inversion Principle mentality. So wherever your infrastructure lives architecturally, it works out very well if its components depend on the interfaces from the user interface, Application Services, and domain model that require special technical capabilities. That way, when an Application Service looks up a Repository, it will be dependent only on the interface from the domain model, but using the implementation from the infrastructure. Figure 14.4 provides the UML static structure diagram to illustrate how that works.

Figure 14.4. The ...

Get Implementing Domain-Driven Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.