针对MVC模式中的一个问题,为每个View或单个控制器分别设置控制器?

时间:2013-12-09 18:52:48

标签: c# .net winforms model-view-controller

我正在构建Windows Forms C#-Application并尝试使用MVC模式。

现在,我有一个控制器来控制我的一个模型类。

它具有添加,更新,删除和列出模型内容的功能(这只是一个继承自Collection<T>的类)或显示AddForm(见下文)。

可能我需要添加一些功能,但这些是基础知识。

我也有2个观点:

  • 带有ListForm控件,添加,编辑和删除按钮的Windows窗体(ListView
  • 另一个Windows窗体(AddForm)带有一些文本框和ok / cancel按钮。

如果我点击添加或修改按钮,则AddForm应该会打开。

因此AddForm需要编辑和添加控制器中的功能,而ListForm需要列表和删除功能。

我是否应该为仅包含添加/编辑和验证功能的AddForm创建单独的控制器(而ListForm只包含show / delete)?

我应该只将两个视图注入我的控制器吗?

或者我应该只显示表单并调用showAddForm()方法中的所有add / edit-stuff 控制器?

1 个答案:

答案 0 :(得分:1)

控制器应包含多个视图的后端代码。我将控制器分组到实体级别以进行CRUD操作。例如,在HR应用程序中,我会有一个员工控制器,一个部门控制器等。我不会通过操作将其拆分。