关于模型 - 视图 - 演示者(C#)的一般性问题,模型应该知道演示者吗?

时间:2010-09-28 11:45:08

标签: c# .net mvp

我有一个MVP(被动视图)设置,它进展顺利。 我最近阅读了Martin Fowlers对此的描述(http://martinfowler.com/eaaDev/PassiveScreen.html),他写道“Passive View是一个非常明确的机制的另一个优点。很少依赖Observer机制或声明性映射。”

在我的MVP中,我的模型完全忘记了演示者,并且从模型到演示者的通信由事件处理。 我通过调用演示者ctor来初始化视图中的MVP,例如new Presenter(this,new Model())(这指的是视图)。

我的问题是,我是否应该让模型知道一个演示者,以便它可以直接调用演示者逻辑而不是使用事件?

1 个答案:

答案 0 :(得分:7)

不,你不应该。如果您这样做,您的模型将与您的表示层紧密结合,使其在该上下文之外无用。此外,测试,调试和维护模型层会变得更加困难。