【发布时间】:2012-03-27 17:04:58
【问题描述】:
我们在这里使用 MVP 设计模式,并且我们采用了 Presenter-per-UserControl 样式。
This answer 建议了两种不同风格的 Presenter 构造:
- 每个演示者都会实例化它拥有的所有子演示者。
- 控制器类实例化所有演示者并处理它们之间的通信。
不幸的是,没有提及视图的连接方式和位置。在另一个项目中,我使用工厂模式来创建我的演示者并使用dependency injection 向他们传递视图。视图是在视图工厂中创建的,该工厂使用相应的 UserControl 实例化视图,然后使用 Controls.Add 添加到表单中。
根据我从第一个链接收集到的信息,Visual Studio 设计器用于添加 UserControls - 这很好,但似乎演示者会不必要地耦合到视图层。
那么我应该如何添加我的子视图并连接 View-Presenter 对?
【问题讨论】: