Boundaries and Dependencies

Learn where boundaries lie within our architecture and what "enforcing a boundary" actually means.

Introduction

We have talked a lot about architecture in the previous chapters and it feels good to have a target architecture to guide us in our decisions on how to craft code and where to put it.

In every above-playsize software project, however, architecture tends to erode over time. Boundaries between layers weaken, code becomes harder to test, and we generally need more and more time to implement new features.

In this chapter, we’ll discuss some measures that we can take to enforce the boundaries within our architecture and consequently fight architecture erosion.

Get hands-on with 1400+ tech skills courses.