首先让我说这是我第一次尝试尝试 MVP。我将采用被动视图方法,因为我想将视图与模型完全分离。
我通过阅读以下文章了解了 MVP
德里克·格里尔
http://aspiringcraftsman.com/2007/08/25/interactive-application-architecture/
我的应用程序将有 4 个视图,它们是自定义控件,每个视图都实现不同的界面来与 Presenter 交互。现在这对于 3 个视图来说不是问题,因为控件是静态的并且永远不会改变。
我的问题出现在第 4 个视图中,我需要更改基于从视图 1 触发的事件显示的控件/视图。
例如,假设 View 1 是一个可以来自员工或客户的人员列表。现在,根据所选人员的不同,您可以根据所选人员的类型修改不同的参数。问题是 View 4 需要根据所选内容动态更改编辑控件。请记住,不仅属性会有所不同,而且它们的编辑方式也会有所不同。此外,每个编辑控件都会为属性更改触发不同的事件。
那么我的 Presenter 是如何知道如何管理与模型的交互的,当取决于选择的是员工还是客户时,会有一个不同的编辑器实现不同的 View 界面?
我希望这很清楚。任何帮助是极大的赞赏。我进行了全面搜索,所有示例都显示了 View 和 Presenter 之间的具体关系,而我的示例需要非常灵活。
我的目标是保持第 4 个视图上的编辑控件非常灵活,例如,我可以为外星人或狗添加编辑控件/视图,或者我可以添加到 View1 中的任何其他内容以供选择。
谢谢