为什么在大多数 ASP.NET MVP 实现中,Presenter 附加到 View 事件而不是 View 调用 Presenter 方法?

2024-02-15

我注意到在 Webforms MVP 实现和大多数其他示例中,Presenter 通常将处理程序附加到 View 事件。为什么视图不能直接调用演示者中的方法?只是想知道,由于将处理程序附加到事件、为特殊参数定义 EventArgs、在视图端检查事件是否为 null 的整个任务似乎比仅调用方法要繁琐得多。


当然可以,而且我发现这是最好的中间立场。我认为你所描述的就是所谓的“观察演讲者风格”。这使您可以将 View 与 Presenter 完全解耦,从而使视图不易受到 Presenter 内更改的影响。但它也带来了测试的复杂性,这就是首先使用 MVP 的原因。我根本不会为这种风格而烦恼。在非常大的项目中,我们使用 Encapsulated Presenter 风格,其中 View 有对 Presenter 的引用,通过 IoC 容器注入,并且视图只调用 Presenter 上的方法。易于理解、易于调试、易于测试。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么在大多数 ASP.NET MVP 实现中,Presenter 附加到 View 事件而不是 View 调用 Presenter 方法? 的相关文章

随机推荐