0

我现在试图理解一些代码,我发现了一个模式,这对我来说似乎有点奇怪。有一个带有“EditorOpen”事件的用户控件类。起初,我认为这个名称不正确,因为它不像 MSDN 建议的那样以“-ing”或“-ed”结尾。但是,后来我发现,这个事件并没有通知发生的事情,而是某种请求来进行实际操作。这是客户端代码,预计会执行“打开编辑器”!

我有点惊讶地发现这实际上是某种形式的模板方法设计模式,其中可以有多个操作与单个操作占位符相关联。

我认为这很有趣,但我也担心在这种情况下使用事件可能会产生高度误导。无论如何,我们在这里讨论的不是 EVENTS,而是 REQUESTS。嗯...也许没问题,只要事件的名称是“EditorOpeningRequest”或“EditorOpeningRequested”。你怎么看?在代码审查期间你会如何评论这个?

4

1 回答 1

1

除非您有充分的理由让多个对象处理打开编辑器的请求,否则我建议应该是委托而不是事件。这将您限制为只有一个请求处理程序,在这种情况下,这似乎更合乎逻辑。

此外,我会将名称更改为 OpenEditor,因为这更能说明您的期望。如果您确实坚持使用事件模型,那么 OpenEditorRequested 可能是一个更好的名称。

HTH。

于 2009-07-01T11:15:41.453 回答