| 意图 | 以空行为替代 null 判断 |
|---|---|
| 收益 | 分支减少、默认语义集中 |
| 注意 | 空对象只在「无此对象」语义成立时使用 |
Java 示例
Java 示例
interface Logger { void log(String msg); }
class NopLogger implements Logger {
public void log(String msg) { }
}
// 调用方无需 if (logger != null)用实现同一接口的「空行为对象」替代空引用:调用方无需层层判空,默认行为集中定义;与《重构》的 Introduce Special Case 一脉相承。
| 意图 | 以空行为替代 null 判断 |
|---|---|
| 收益 | 分支减少、默认语义集中 |
| 注意 | 空对象只在「无此对象」语义成立时使用 |
interface Logger { void log(String msg); }
class NopLogger implements Logger {
public void log(String msg) { }
}
// 调用方无需 if (logger != null)