也称为“最少知识原则”,其主张如下:
在实践中
- 避免深入其他对象的内部进行链式调用。
- 限制与您直接管理的对象进行通信。
? ❌ 坏示例(违反)
// 控制器
total = order.customer.address.getRegionTaxRate() * order.amount
? ✅ 好示例
// 控制器
total = order.calculateTotal()
? 为什么重要
- 减少耦合 → 类之间的依赖更少。
- 提高可维护性 → 一个类中的更改不会影响遥远的类。
- 提高可读性 → 明确的责任边界。
? 资源