如果我只有几个州,可能会有州模式的帮助吗?

时间:2010-11-30 02:02:49

标签: java design-patterns state

如果某些东西只有两到三个状态,那么使用状态模式是否过分?

3 个答案:

答案 0 :(得分:3)

不,这不是矫枉过正。即使您实际状态很少而且预计不会添加更多状态,使用状态模式也会使您的系统更容易测试,因为您可以单独测试各个状态。

答案 1 :(得分:1)

你在谈论状态图吗?

无论如何,我说要去吧。问题是将来你可能想要添加一个状态,然后认为它不值得实现你的模式,因为它只是一个状态,对吧?然后你有4个状态,你必须添加另一个状态,然后重复这个过程。

然后你进入一个状态(双关语),你不能重构并使用状态模式,因为它会涉及重写太多的代码。

所以,第一次就做好。

答案 2 :(得分:1)

我们在你的确切案例中说不出多少,因为你提供的信息太少了。

但总的来说......


其他表达的意见可能有所不同,但......

Agile movement获得了很多好处。 他们会推荐 YAGNI 你不需要它)。

这个想法是将复杂性推迟到以后,因为:

  1. 我们的开发人员往往喜欢复杂性,有时会把它放在不需要的地方。
  2. 稍后您会更好地理解您的代码;然后你可能会找到一个更简单的解决方案。
  3. 您的用户(或指定该做什么的人,即使您就是这样)将在以后使用您的软件,因此要求可能会发生变化。因此,预计的任何复杂性都可能在此时无法使用。
  4. 即使在(罕见)情况下,您稍后会添加与现在添加的完全相同的复杂性...同时,您的代码库更简单,因此您的其他编码活动更简单,更快捷。这也是一种收获。
  5. 还要考虑到你的时间不是无限的,也许有人为此付出代价(即使是你的空闲时间或训练时间)。如果花在当前的问题上,而不是花时间在未来,你的努力可能会更有用......

  6. 那就是说,如果你喜欢这个主意,就去吧,追随你的梦想吧! : - )