Analyze Layered Architectures

The core idea of layered architectures is to represent each horizontal responsibility in its own component, a layer. In embedded systems, those layers would be hardware abstractions, device drivers, and protocols with application-level code as the top slice. For a web application, the layers typically encapsulate the UI, request routing, business rules, and data persistence. As shown in the next figure, it’s not uncommon to come across architectures that are seven to eight layers deep.

images/beauty/layered_architecture.png

In many ways, layered architectures are the IBM of software architecture. No one has ever been fired for building a layered architecture. ...

Get Your Code as a Crime Scene, Second Edition, 2nd Edition 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.