Implementing a Use Case
Let’s finally look at how we can manifest the architecture we have discussed in actual code.
Since the application, web, and persistence layers are so loosely coupled in our architecture, we’re totally free to model our domain code as we see fit. We can do Domain-Driven Design (DDD), implement a rich or anemic domain model, or invent our own way of doing things.
This chapter describes an opinionated way of implementing use cases within the Hexagonal Architecture style we introduced in previous chapters.
As is fitting for a domain-centric architecture, we’ll start with a domain entity and then build a use case around it.