Chapter 3

Organizing Code

Wouldn't it be nice to recognize an architecture just by looking at the code?

In this chapter, we will examine different ways of organizing code and introduce an expressive package structure that directly reflects a hexagonal architecture.

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.

We will discuss different options for structuring ...

Get Get Your Hands Dirty on Clean Architecture now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.