Base120 · Composition
Layered Abstraction
Separate concerns into hierarchical levels with clear interfaces between them
When to use
"Use when a system has multiple concerns that interact confusingly. Separate them into hierarchical layers with clear interfaces, so each layer can be understood and modified independently."
Example
"The OSI network model separates physical, data link, network, transport, session, presentation, and application layers. A change at the physical layer (fiber vs copper) does not require changes at the application layer, because the interfaces between layers are stable."
Common misuse
"Creating too many layers, each adding indirection without adding clarity. Layering has a cost — every interface is a potential failure point and a cognitive burden. Layer only when the separation of concerns is real."