| 别名 | 最少知识原则 |
|---|---|
| 允许 | 自身/字段/参数/返回值上的调用 |
| 限制 | 对返回对象再取对象继续调用 |
正反例
正反例
// 违反:链式穿越
getZipCode(p) { return p.getAddress().getZip(); }
// 改善:对象内自答
p.zipCode()流式 API、DTO 组装场景常有例外:判断依据是「对象图结构是否成为外部依赖」。
对象只与「直接朋友」通信:优先调用自身、参数、自建对象的方法,避免 a.getB().getC().do();降低对对象图结构的耦合,但不必教条化。
| 别名 | 最少知识原则 |
|---|---|
| 允许 | 自身/字段/参数/返回值上的调用 |
| 限制 | 对返回对象再取对象继续调用 |
// 违反:链式穿越
getZipCode(p) { return p.getAddress().getZip(); }
// 改善:对象内自答
p.zipCode()