Horizontal Slice
Updated 2026-08-22
INTRODUCTION
English translation pending.
CORE DEFINITION
A horizontal slice divides a system by functional layer, such as presentation, business logic, and data access, in contrast to a vertical slice organized by feature. The core proposition is that separating concerns by layer lets each part be understood, tested, and replaced without knowledge of the others, which is what makes a complex system tractable. The key qualification is that layers must have a defined dependency direction: allowing a lower layer to reference a higher one destroys the isolation the division was meant to create.
SCAFFOLDING EFFECT
Reduce cognitive load
- Layer identification: name the natural functional layers that make up your system. - Interface contract: define exactly what each layer exposes to the one above it. - Dependency direction: enforce that upper layers depend on lower ones and never in the reverse direction.
Anchor fast decisions
Grouping by responsibility means each layer only has to satisfy its own contract, so a change inside one layer does not propagate through the others. The complexity of the whole is thereby reduced to a set of thin, independently verifiable parts. Interfaces carry the assumptions between layers, which is why the dependency direction has to be fixed explicitly rather than left to convenience.
MINIMUM ACTION
In progress 0/1Practice this model in one real situation:
account_treeGenealogyexpand_more
menu_bookReferencesexpand_more
Source support: Explicit
- zh.wikipedia.orghttps://zh.wikipedia.org/wiki/%E4%BA%BA%E6%9C%88%E7%A5%9E%E8%AF%9Dverified
PRIVATE NOTES · Only visible to you
SAVED Q&A
ENTRY Q&A · Private saving available
Ask with a clear boundary
thinkingmodels answers from published entry context only.
Your question is sent to thinkingmodels. The answer uses public entry context only.
RELATED MODELS