0

据我所知,基本上有两种选择。

第一个是查看展示者应该订阅的通知事件。当用户单击视图上的某个按钮时,视图只会触发一些事件,通知某些内容发生了变化。

第二种只是使用观察者模式,让演示者干预一些合同。让它成为一个接口,其中包含我上面告诉你的事件之类的方法。应将演示者观察者附加到视图。

正如 Jeremy Miller 在其传奇的“构建自己的 CAB 系列”博文中所说,他最好使用第二个选项。

你对这个话题有什么看法?您如何在项目中绑定演示者和视图?每个选项的优点或缺点是什么?

让我们在这里进行一些民意调查。我认为这会很有用。提前致谢!


为了回应彼得里奇的回答。

我的问题是我缺乏经验,我应该依靠别人的意见来做出决定并选择一种对我来说似乎正确的方式。

接口的缺点是你有特定的耦合。视图与接口耦合,并且必须实现该接口

但另一方面,事件服务不是像某种契约(像接口一样)吗?它将演示者绑定到视图,因为它应该对这些事件做出反应。

4

1 回答 1

2

观察者可能有点乏味。如果您有多个控件产生事件或多个事件,那么您必须一次将它们连接起来。而如果你使用一个接口,它就在一个地方,如果你忘记实现接口的特定成员,你会得到类型安全和编译错误。接口的缺点是你有特定的耦合。视图与接口耦合,并且必须实现该接口。您可以使用接口隔离将接口耦合限制为一个特定的类;但是,这增加了一定程度的复杂性。

对此没有一个正确的答案。您可以提供一些标准来帮助您做出决定吗?

于 2012-05-12T05:11:37.723 回答