我最近在Null对象设计模式上观看了这个youtube教程.即使它有一些错误:例如NullCar没有做任何事情会产生无限循环,这个概念得到了很好的解释.我的问题是,当可以为null的对象具有getter并在代码中使用时,您会怎么做?你怎么知道默认返回哪个值?或者我应该在所有对象中实现此模式?如果我需要返回字符串或基元怎么办?我是从Java角度谈论的.
编辑:我不会交易空对象测试默认值测试?如果没有,为什么不呢?
Null对象的目标是避免在代码中使用Null引用.Null Object getter返回的值取决于您的域.零或空字符串通常是合适的.
如果我们将Null Object模式转换为现实生活,那么你所问的就像问" 没有人多大了? ".
也许你的设计可以改进,因为你似乎不遵循告诉,不要问原则.
编辑:当对象将行为委托给另一个对象时(例如在策略或状态设计模式中),通常使用Null对象设计模式 ; 正如Tom Hawtin - tackline评论的那样, 对返回值的对象使用特殊情况对象.