Summary
Based on the topology and inventory system we developed in previous chapters, this chapter provided a hands-on approach to the early steps of developing a hexagonal system. We started by bootstrapping the Domain hexagon as a modularized Maven project and using the JPMS.
We briefly analyzed and understood the problem domain as it relates to the management of network assets. Then, 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 how to develop a robust Domain hexagon, we lay a solid foundation that the Application and Framework hexagons can rely on. In the next chapter, we will learn how to build the Application hexagon by assembling the useful features and everything else we’ve created on the Domain hexagon.