关闭。这个问题是opinion-based .它目前不接受答案。
想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.
7年前关闭。
Improve this question
空对象模式是测试驱动开发的绝佳工具。如果我需要使系统的行为更复杂,我会引入一个空对象,以便我快速恢复绿色。此外,通常 null 对象对于保留旧的单元测试很有用。空对象模式的更多信息和其他用途在这里:
http://en.wikipedia.org/wiki/Null_Object_pattern
现在我在系统中有一些这样的东西,我开始想知道给它们命名的最佳方式。您通常只是将 Null 作为名称中的第一个单词,还是为每个 null 对象指定自己的名称?
为了讨论的目的,让我设置一个例子。假设我以前只穿黑色高领毛衣,但现在我想稍微改变一下我的衣橱。我会称我的新类型为 WardrobeChooser。为了封装旧的行为,我可以调用我的旧对象 NullWardrobeChooser 或 BlackTurtleneckWardrobeChooser 甚至 MissingWardrobeChooser(哎呀!那个可能很糟糕)。你会推荐什么名字?
我在网上查看,但我似乎找不到任何关于此的引用。
最佳答案
我个人不喜欢对空对象使用命名策略,而是根据它们公开的行为来命名它们。
如果想出方便的命名需要时间,我认为像 Empty
这样的前缀或 Default
优于Null
因为它只是告诉使用空对象模式,没有别的。
空对象名称的一些示例是: NoDiscount
, EmptyIterator
, DefaultPaymentStrategy
, 等等。
关于design-patterns - 为空对象或缺失对象选择名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8545994/