Summary
Based on the topology and inventory system we have been developing in previous chapters, this chapter provided a hands-on approach to the early steps of developing a hexagonal system. We started by first bootstrapping the Domain hexagon as a modularized Maven project and using the JPMS.
Then, we engaged in a brief analysis to understand the problem domain related to the management of network assets. Next, we translated the problem domain into a domain model based on value objects, entities, specifications, and services. Finally, we tested everything we've done to ensure things won't break when we start to develop the Application hexagon on top of the domain one.
By learning to develop a robust Domain hexagon, we're laying a solid foundation that the Application and Framework hexagons can rely on. In the next chapter, we will learn to build the Application hexagon by assembling the useful features and everything else we've created in the Domain hexagon...