在MVP模式中我需要多少主持人

时间:2014-05-19 13:08:29

标签: c# winforms mvp

我试图理解c#winforms中的MVP模式 我的问题是我是否必须为每个实体创建演示者类?例如:在我的应用程序中,我有:

  • Form1 ,表单Students将在列表框中列出
  • Form2 ,表单Orders将在列表框中列出
  • Form3 ,表单Details将在列表框中列出

所以在我的Presenter应用程序中,我是否必须创建?:

StudentPresenter.cs
OrderPresenter.cs
DetailsPresenter.cs

如果是,假设我的Form1中有一个按钮,当我点击该按钮时,我想显示Form2。我的代码是否属实?

    private void showForm2_Click(object sender, EventArgs e)
    {
        var orderForm= new Form2();
        var orderRepo= new OrderRepository();
        var orderPresenter = new OrderPresenter(orderForm, orderRepo);
        //How I show Form2 ?
    }

1 个答案:

答案 0 :(得分:3)

通常,我到目前为止使用MVP模式看到的是每个视图使用一个Presenter,换句话说,它与您拥有的模型数量无关,数量与演示者的数量分离。此外,在我之前工作的项目中,在切换到MVVM之前,严格遵守One-Presenter-Per-View。

这里已经多次询问过这个问题。

请参阅herehere