设计模式-行为型-空对象模式(Null Object)
参考文献
空对象模式
- 它用于处理对象引用为空时的情况.
- 该模式的目标是消除对空引用的显式检查,从而提高代码可读性和可维护性.
组件
AbstractClass
: 定义具体实现必须定义的抽象基元操作.RealClass
:AbstractClass
的实际实现,执行一些实际操作NullClass
: 不执行任何抽象类操作的实现,以便向客户端提供非空对象Client
: 客户端获取抽象类的实现并使用它.它并不真正关心实现是空对象还是真实对象,因为它们都以相同的方式使用
实现方式
- 定义一个共同的接口或抽象类,其中包含实际对象和空对象的共同方法.
- 创建一个实际对象类,实现共同接口,并提供具体的实现逻辑.
- 创建一个空对象类,也实现共同接口,但在方法中提供空实现.
- 在需要使用对象的地方,使用空对象作为默认值,而不是使用
null
.
使用场景
- 避免在代码中频繁进行 null 引用的检查,减少条件分支.
- 提供默认行为或占位符对象,以确保代码在任何情况下都能正常运行.
- 简化客户端代码的逻辑,使其能够使用空对象而不需要进行额外的判断.
- 提供一致的接口,使得空对象能够与实际对象无缝替换.
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 HoleLin's Blog!