c# - 您使用什么规则来描述 MVP 方法和成员

标签 c# java design-patterns mvp

当使用 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/

相关文章:

c# - 在 c# 中使用 openxml 进行文字处理时一行中的不同样式

java - 这个键绑定(bind)有什么问题?

java - 按钮 OnClickListener 给出 ViewPostImeInputStage ACTION_DOWN 错误

c# - 开发 Windows 8 应用程序时替换 System.drawing

c# - 确定 WCF SOAP UserNamePasswordValidator 中客户端的 IP 地址

c# - 找不到方法 : 'System.Type System.Runtime.InteropServices.Marshal.GetTypeFromCLSID(System.Guid)'

Java 泛型、对象和通配符的区别和说明

c# - 每当在 C# 中调用一个方法时,是否有一种通用的方法来调用另一个方法

java - 共享对象设计模式

design-patterns - 存储库/延迟加载/持久性