我已经开始在我的几个表单的 Windows 表单应用程序中使用 MVP 模式。这些表单创建一个演示者并将它们自己传回给演示者。
我没有使用任何特定的框架,表单仍然可以打开其他表单。
我是否应该更改此设置以便演示者可以打开其他表单(通过 View )?我相信必须使用 IOC 框架来做到这一点?
这可能会节省我在 UI 中打开相关表单的逻辑,并允许我从表单中删除对演示者的引用。
最佳答案
您应该有一个单独的类来负责创建/管理表单。我建议使用命令模式来调用打开新表单的代码。它最终会更好地扩展,您可以更改 Command 实现来做不同的事情。在我的项目中,我只是在表单本身中进行数据更改,但是任何与“应用程序”交互的东西都被委托(delegate)给一个 Command 对象。
您不需要 IOC 框架来执行此操作,但它会有所帮助。如果你只是有简单的需求,你可以保持简单。
我的网站上有一个 WinForms MVP 示例:ModelViewPresenter .我不使用任何 IOC 容器,但构造代码以便使用一个快速跳跃。
关于.net - Windows 窗体中的 MVP 和 IOC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/282628/