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/

相关文章:

java - 从java代码生成XML文件

JAVA::CORBA NameComponent nameService.rebind 导致异常 java.lang.NullPointerException

java - 访问标识符的真实示例 [public, protected, private]

java - 我如何强制 Eclipse 生成带有返回语句的 setter

c# - Crystal 报表不显示数据集中的任何数据

c# - Windows 窗体应用程序生成另一个名称

c# - 使用指针访问结构成员

java - 在 Android 中将 LatLng 偏移一定量的米

c# - 找不到适合指定区域性的任何资源(资源文件中的 C# WinForm 图像)

java - 使用继承与接口(interface)的装饰器设计模式