让我们假设我有一个类SuperPower,并且我希望将我的超能力放在一个集合中而不暴露实现。
我尽量避免将集合作为实例属性。相反,我把它放在一个我可以移动的类中,否则就会在其他类中传播开来。
我不想将它称为SuperPowerList,SuperPowerMap或类似的,因为它暴露了实现。
我也不喜欢SuperPowers,因为它与它所包含的类太相似了。
类型变量“SuperPowers superPowers”也是如此。
必须有更好的方法。
答案 0 :(得分:2)
SuperPowerCollection
听起来最好,因为我可以在整个框架中看到它。变量命名可以是您感到满意的任何东西,因为它并不重要。我更喜欢superPowers
,这在集合类中更常见。要获得更多有创意的想法,请在english stackexchange上发布问题。
只有我不被投票:
是我能想到的一些奇特的名字:)
答案 1 :(得分:1)
使用SuperPowerCollection或SuperPowers。
两者都很好。
我想补充一点,我在代码中看到了一个实现中的案例
从List更改为Map,但变量名仍为objctsList -
这是非常可怕的,所以你是正确的,一个好的做法是避免在变量名中提供实现细节,因为它们可能会及时改变。
答案 2 :(得分:1)
PowerPack或SuperPowerPack怎么样?