Abstraction Consistency Principle
Updated 2026-08-15
INTRODUCTION
English translation pending.
CORE DEFINITION
The principle holds that each layer of a system should operate at a single, consistent level of abstraction, with its own vocabulary and contracts, and that mixing granularities within one layer creates confusion and coupling. It is a corollary of separation of concerns and single responsibility, and it explains why abstraction leaks are so costly: a leak forces a caller to know about a level it should not. The qualification is that consistency must serve comprehension rather than hierarchy for its own sake, since an intermediate layer with no distinct concept adds indirection without clarity.
SCAFFOLDING EFFECT
Reduce cognitive load
- Fix the level: state the abstraction level of the unit you are writing before adding anything. - Expose contracts: have callers depend on the layer's own vocabulary rather than its internals. - Audit the leaks: search for cross-layer names, such as database columns surfacing in business logic.
Anchor fast decisions
A reader builds a mental model from consistent cues, so when every element in a layer operates at the same granularity, one model explains the whole layer. Mixing levels breaks that model, because the reader must switch between registers and cannot predict where the next detail will appear. Coupling follows: code that reaches across levels depends on internals it does not own, so any change below propagates upward. Keeping levels consistent confines change to one layer, which is why the discipline pays off as maintenance rather than as elegance.
MINIMUM ACTION
In progress 0/1Practice this model in one real situation:
account_treeGenealogyexpand_more
menu_bookReferencesexpand_more
Source support: Explicit
- en.wikipedia.orghttps://en.wikipedia.org/wiki/Abstraction_(computer_scienceverified
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