当使用 MVP 模式时,我经常遇到似乎不太适合 View 或 Presenter 类的方法和成员...我的问题是:您使用什么规则来决定哪些功能属于哪些类?我对 MVP 还比较陌生,所以请幽默一下。
TIA。
最佳答案
我倾向于支持 MVP 的被动 View 变体,所以这对我来说不是问题。在被动 View 模式中, View 几乎将比简单分配更复杂的事情委托(delegate)给演示者。
您最终会得到如下所示的模式:
public class MyView: IView
{
private MyPresenter Presenter;
private OnEvent()
{
Presenter.DoSomething();
}
public string MyProperty
{
get{ return UIControl.Property;}
set{ UIControl.Property = value}
}
}
public interface IView
{
public string MyProperty{ get; set;}
}
public class MyPresenter
{
private IView view;
public void DoSomething()
{
...
view.MyProperty = something;
}
}
唯一的技巧是您的表单上是否有数据网格。这些需要大量工作才能适应被动 View 模式。
关于c# - 您使用什么规则来描述 MVP 方法和成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/896779/