Chapter 9

Assembling the Application

Now that we have implemented some use cases, web adapters, and persistence adapters, we need to assemble them into a working application. As discussed in Chapter 3, Organizing Code, we rely on a dependency injection mechanism to instantiate our classes and wire them together at startup. In this chapter, we will discuss some approaches for how we can do this with plain Java and the Spring and Spring Boot frameworks.

Why Even Care about Assembly?

Why aren't we just instantiating the use cases and adapters when and where we need them? Because we want to keep the code dependencies pointing in the right direction. Remember: all dependencies should point inward, toward the domain code of our application, so ...

Get Get Your Hands Dirty on Clean Architecture 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.