加载中...

空对象模式(Null Object Pattern)是一种行为型设计模式:当查询没有结果时,不返回 null,而是返回一个实现了相同接口、行为为"什么都不做"或提供中性默认值的空对象。
定义一个抽象接口,真实对象与空对象都实现它;空对象的方法体为空或返回安全默认值。调用方按统一接口使用,无需再写 if (obj != null) 判断。
日志库中的"空日志器"、集合查询返回空集合而非 null、游戏中不存在的玩家用 NullPlayer 表示等。Java 8 的 Optional 与 Kotlin 的空安全是解决同一问题的语言级手段。
优点是消除大量判空分支、降低空指针异常风险;缺点是可能掩盖"本应是错误"的缺失情况,使问题延后暴露,需要区分"合法缺失"与"异常缺失"再使用。

登录 后参与讨论
暂无讨论,来发表第一条评论吧