为null或缺少的对象选择名称

时间:2011-12-17 16:08:21

标签: design-patterns

Null对象模式是测试驱动开发的一个很好的工具。如果我需要使系统的行为更复杂,我会引入一个null对象,以便我快速恢复绿色。此外,通常null对象对于旧单元测试的目的而言是有用的。有关空对象模式的更多信息和其他用法如下:

http://en.wikipedia.org/wiki/Null_Object_pattern

现在我在系统中有一些这样的东西,我开始想知道这些命名的最佳方法。你通常只把Null作为名字中的第一个单词,还是给每个空对象赋予自己的名字?

让我为讨论目的设置一个例子。比方说我过去只穿黑色高领毛衣,但现在我想改变我的衣橱。我会把我的新型号称为WardrobeChooser。为了封装旧的行为,我可以调用我的旧对象NullWardrobeChooser或BlackTurtleneckWardrobeChooser甚至是MissingWardrobeChooser(yikes!一个可能是坏的)。你会推荐什么名字?

我在网上看了,但我似乎找不到任何关于此的参考资料。

1 个答案:

答案 0 :(得分:3)

我个人更喜欢不使用空对象的命名策略,并根据它们公开的行为命名它们。

如果需要时间来提供方便的命名,我认为EmptyDefault之类的前缀优于Null,因为它只是告诉 null对象模式是使用的,没有别的。

Null对象的名称的一些示例是:NoDiscountEmptyIteratorDefaultPaymentStrategy等。

相关问题