空对象模式

科技工作者之家 2020-11-17

在空对象模式(Null Object Pattern)中,一个空对象取代 NULL 对象实例的检查。Null 对象不是检查空值,而是反应一个不做任何动作的关系。这样的 Null 对象也可以在数据不可用的时候提供默认的行为。

空对象模式是一种提供智能的,不作为的行为,从它的合作者中隐藏细节。

简介在空对象模式中,我们创建一个指定各种要执行的操作的抽象类和扩展该类的实体类,还创建一个未对该类做任何实现的空对象类,该空对象类将无缝地使用在需要检查空值的地方。

研究意义(1)它可以加强系统的稳固性,能有有效地防止空指针报错对整个系统的影响,使系统更加稳定。

(2)它能够实现对空对象情况的定制化的控制,能够掌握处理空对象的主动权。

(3)它并不依靠Client来保证整个系统的稳定运行。

(4)它通过isNull对==null的替换,显得更加优雅,更加易懂。1

实现创建一个定义操作的 AbstractCustomer 抽象类,和扩展了 AbstractCustomer 类的实体类。工厂类 CustomerFactory 基于客户传递的名字来返回 RealCustomer 或 NullCustomer 对象。

NullPatternDemo,我们的演示类使用 CustomerFactory 来演示空对象模式的用法。

本词条内容贡献者为:

黄伦先 - 副教授 - 西南大学

科技工作者之家

科技工作者之家APP是专注科技人才,知识分享与人才交流的服务平台。