模型-视图-演示者:为什么模型是静态的?

本文关键字:模型 静态 为什么 视图 | 更新日期: 2023-09-27 18:08:34

我一直在尝试完全理解模型视图演示器模式,因为它适用于c#。我有一个问题想不明白。

在许多例子中,我注意到模型被定义为静态的,并且在Presenter基类(通常是泛型类)中构造。

在这种情况下如何有多个模型类?根据我的理解,创建的每个演示器只能引用单个模型类。

我现在看到的例子可以在这里找到:http://wesaday.files.wordpress.com/2009/01/finalzip.doc(重命名为.zip)。它来自本教程:http://wesaday.wordpress.com/2009/01/30/winform-model-view-presenter-part-v-the-view/

我猜测的整体问题是看到像上面这样的例子如何适应具有多个视图/演示器/模型的工作应用程序。

模型-视图-演示者:为什么模型是静态的?

这可能只是为了避免在示例中合并完整的IoC实现而进行的简化。MVP三元组通常由运行时的独立实例表示(即:不是静态的、单例的或其他共享的)。在某些例外情况下,模型可能是一个共享实例,但这通常是例外而不是规则,并且通常仅适用于只读表单或控件。