【发布时间】:2009-01-09 20:04:19
【问题描述】:
我在尝试了解一些 MVP 内容时获得了一些乐趣,因为它与用户控件有关。我正在使用.NET WinForms(或类似的东西)和监督控制器模式(嗯,我想我是:)。
用户控件本身是 MVP 应用程序的一部分(它的视图和相关的演示者等)。 Presenter 总是首先启动,它启动模型,然后是视图。 View 构建其 UI,其中一部分将用于 NEW UC,即 View。
现在(表单)Presenter 需要了解 UC Presenter,但我认为它对 View 的组成方式一无所知。例如,表单 Presenter 不知道 UC 是表单的 Controls 集合的一部分,也不应该知道。
此外,设计体验不应改变; IOW 视图(表单)的开发人员应该能够从工具箱中选择一个用户控件并将其拖放到表单上。
那么,关于我的问题。首先,我上面的假设是否正确?有点误入歧途?弄乱?你在想什么?
其次,让表单 View 调用 UC View,表单 Presenter 调用 UC Presenter 并有一些机制告诉 UC View 它的 Presenter 是正确的(足够吗?)?这违反了我的“演讲者优先”规则,但我不知道该怎么做。
任何其他想法、建议、cmets 很乐意接受。
--nwahmaet
【问题讨论】:
标签: winforms design-patterns user-interface mvp