给定例如某种类实例具有状态(例如“活动”、“非活动”……)。该实例还附加了一个点击事件,例如一个链接,但事件处理程序根据实例的状态执行不同的操作。
伪代码:
IF instance state IS 'active' AND link is clicked THEN call function A
IF instance state IS 'inactive' AND link is clicked THEN call function B
…
我想知道正确处理这种情况的良好做法是什么:
- 通常使用哪些模式来实现这一目标?
- 您是否在事件处理程序中使用条件?
- 或者当状态改变时绑定和解除绑定处理程序?
- 我是否缺少一些明显的其他/更好的解决方案?
UPDATE
在阅读到目前为止的答案时,似乎有一种强烈的倾向在处理程序中使用条件。虽然我私下里希望我可能错过了一个替代方案,但我已经预料到了这一点。
我喜欢 @J-P 的方法,因为它单独保持方法和状态的配对,这似乎比简单的方法更具可扩展性和可维护性switch
or if/else
陈述。
但是,我很想知道其他地方是否以不同的方式解决这个问题,也许使用不同语言的示例?
通常使用哪些模式来实现这一目标?就像是this
您是否在事件处理程序中使用条件?是的,参见示例
或者当状态改变时绑定和解除绑定处理程序?不,但有可能。
我是否缺少一些明显的其他/更好的解决方案?我不这么认为
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)