Layered Architectures and the Cost of Consistency

If someone approaches you in a dark alley and asks, “Hey, wanna see a legacy codebase?”, chances are they pull out a layered architecture. That’s why we go to extra lengths to explore the pattern, which has been a popular strategy for structuring web and GUI applications over the past decade.

Layered architectures come with a set of trade-offs that impact maintainability in the sense that layers lead to increased coordination needs. To show how, we return to the concept of change coupling that we used in Chapter 3, Coupling in Time: A Heuristic for the Concept of Surprise, as we identified surprising change patterns at the file level. Now we’ll scale the analysis up to the architectural level. ...

Get Software Design X-Rays 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.