Building the Application Hexagon
Once we have a foundation provided by the Domain hexagon, we can build the remaining part of the system on top of this. It’s time to think about how the system will coordinate the handling of different data and behaviors to fulfill the needs of different actors, and we will explore this through a discussion of use case examples. To accomplish this, we need to create the Application hexagon on top of the foundation defined by the Domain hexagon.
To continue building the modular structure initiated in the previous chapter, where we configured the Domain hexagon as a Java module, we will continue to use the modular approach by defining the Application hexagon as the second Java module of our hexagonal system.
In order to provide a better view of the system’s capabilities, one recommended approach is to use Cucumber, which is a well-known behavior-driven development technology that uses concepts such as features and scenarios to describe...