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