Organizing by Layer
Explore how to organize code by layers within the Hexagonal Architecture style. This lesson helps you understand the advantages and limitations of structuring packages by domain, persistence, and web layers, highlighting issues like unclear boundaries between features and difficulty identifying use cases.
We'll cover the following...
Introduction
Wouldn’t it be nice to recognize the architecture just by looking at the code?
In this chapter, we’ll examine different ways of organizing code and introduce an expressive package structure that directly reflects a Hexagonal Architecture.
Greenfield software projects
In greenfield software projects, the first thing we try to get right is the package structure. We set up a nice-looking structure that we intend to use for the rest of the project. Then, during the project, things become hectic, and we realize that in many places the package structure is just a nice-looking facade for an unstructured mess of code. Classes in one package import classes from other packages that should not be imported. ...