c++ 返回空对象_设计模式之空对象设计模式

有时候我们的代码中为避免 NullPointerException 会出现很多的对Null的判断语句,而这些语句一旦多起来,我们的代码就会变的惨不忍睹,因此我们引入了空对象模式(Null Object Pattern)以此来使我们的代码变的更优雅一点.

第一步:创建一个抽象基类,代码如下:

fb958c3b4f3e75ff491f4e3d1503345a.png

第二部:创建扩展上述类的具体类,其代码如下:

630c8afc8ec1522e582096ba07f92b91.png

第三部:创建一个CustomerFactory类,其代码如下:

创建客户的工厂类:如果客户名称可以查询出来,那么就返回真实的对象,如果不存在那么就返回空客户对象

5007c4ae582fc7ec94e42f5a91b62381.png

第四部:创建演示Demo程序,运行结果如下图所示

c08409e501d8d813cb85da445f6d7a02.png

通过上述我们得出空对象设计模式类图如下:

d37f9f73d9d6073631ac5324c375e50d.png

空对象设计模式的优点:

(1)它可以加强系统的稳固性,能有有效地防止空指针报错对整个系统的影响,使系统更加稳定。
(2)它能够实现对空对象情况的定制化的控制,能够掌握处理空对象的主动权。
(3)它并不依靠Client来保证整个系统的稳定运行。
(4)它通过isNull对==null的替换,显得更加优雅,更加易懂。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值