8
我一直试图完全理解模型视图演示模式,因为它适用于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/
我所遇到的总体问题的猜测是看到上面的例子如何适应具有多个视图/演示者/模型的工作应用程序。
我想我明白了。这是否意味着演示者类应始终实例化模型类(因为它不是共享实例)? – halohunter
演示者应该实例化一个新的模型实例或从外部源接收它。例如,我通常为我的基本演示者添加一个Initialize(model,view)方法,然后根据模型值应用逻辑来确定如何实例化模型。如果值为null,则调用抽象方法以允许子类创建新的模型实例。如果该值对应于模型的类型,则演示者将其用作其模型。如果该值对应于模型ID的类型,则ID值将传递给用于检索模型的抽象方法。 –