# 抽象泄漏定律

> 抽象难免向用户暴露底层细节。

- ID: m00245
- 分类: technical
- 领域: 软件工程

## 定义

抽象泄漏定律由 Joel Spolsky 提出：任何有用的抽象都不可避免地会泄漏底层细节，迫使使用者理解它本想隐藏的复杂。核心思想是无法完全封装复杂性，抽象在边界处失效。它提醒工程师不要盲目信任黑箱。

## 机制

抽象泄漏定律（轩尼诗定律）指所有非平凡抽象在某些情形都会泄漏底层细节，迫使使用者仍须理解下层。它提醒抽象能减轻但不消灭复杂度，边界处尤甚。

## 练习

设计抽象时标注其不成立的情形与边界条件。当性能或异常出问题时引导使用者下探底层，而非假装透明。

## 脚手架用法

抽象难免向用户暴露底层细节。

[阅读网页](https://thinkingmodels.site/entries/detail/m00245)
