循环切换序列反模式

时间:2011-06-03 14:42:50

标签: java android switch-statement

我是java SE开发人员很长一段时间但现在我开始使用android。我看到很多android项目,我很有趣为什么循环切换序列经常出现在他们的代码中。我总是试图在我的代码中避免它。在Android编程中真的是如此常见和必要吗?

2 个答案:

答案 0 :(得分:3)

当用于实现一系列事件时,应避免使用Loop-switch sequence。如果在事件驱动编程中使用事先未知事件,则使用该构造是必要且正确的。

答案 1 :(得分:0)

如果您正在讨论the Wikipedia article "Loop-switch sequence"中描述的模式,那么我怀疑您在andoid代码中看到的是合法使用的开关循环形成一篇文章中提到的事件处理程序 - 通常是while循环。

反模式包括使用构造来建模固定序列(即递增for循环),除了混淆之外它没有任何意义(并且可能为那些最终被C64 BASIC迷恋的人重新引入行号)。对于偶数处理程序,它是合法的,因为事件序列不是固定的 - 您需要某种方式根据事件类型执行不同的操作。

然而,它可能不是最好的设计 - 策略模式将是更好的OO设计(其中不同的动作由偶数对象本身的一种方法的不同实现组成,从中获得)。