【发布时间】:2013-01-21 22:33:49
【问题描述】:
我有一个遵循命令模式的类。 它有 2 个方法,即 Execute 和 CanExecute,用于检查是否调用 Execute(它们派生自 ICommand)。 CanExecute 调用了一些方法来检查所有必需的服务是否正在运行、版本是否正确等。
调用 CanExecute 后,它可能会失败并返回 false,我需要知道原因。是不是因为版本不好、服务、文件丢失等原因?
了解问题所在的最佳策略是什么
一个选项是,每当所需条件失败时,我可以抛出一个异常,该异常将在消息字段中描述错误。然而,它会失败的可能性是预期的和you shouldn't use exceptions for regular flow of control。所以我真的不确定。
谢谢。
【问题讨论】:
-
好像你想要一个状态机。
-
@AustinSalonen 我正在查找它,但我并没有真正理解你的意思,你能详细说明(如果合适的话可能在答案中)?
-
肯你能不能提出一个更好的问题,以便有人可以提供适当的答案..?
-
@DJKRAZE 我重新制定了,我希望现在可以了。如果没有,我很抱歉,我需要更多信息为什么。感谢您的关心。
-
UI 是否需要向用户展示 CanExecute() 返回 false 的原因?或者,作为开发人员,您是否只需要出于开发目的的信息?
标签: c# oop design-patterns command-pattern