Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns MVP:一个位置有多个视图_Design Patterns_Mvp_Enterprise_Gwt Mvp_Multiple Views - Fatal编程技术网

Design patterns MVP:一个位置有多个视图

Design patterns MVP:一个位置有多个视图,design-patterns,mvp,enterprise,gwt-mvp,multiple-views,Design Patterns,Mvp,Enterprise,Gwt Mvp,Multiple Views,我目前正在开发一个应该实现MVP设计模式的web应用程序,我有点困惑: 应用程序只有一个地方可以显示由三个较小的视图组成的内容,不可能只在另一个地方与视图交互(从一个视图中选择某个内容将要求其他两个视图加载一些不同的数据,并允许其编辑),在这种情况下使用MVP是一个好主意吗 假设我将继续使用MVP设计模式,那么只有一个地方有三个不同的视图(活动)是正确的吗?问题出现了,因为我查看的所有web应用程序通常都有一个地方一个活动的关系,这是有意义的,因为当你浏览到另一个页面时,它代表另一个有自己活动的

我目前正在开发一个应该实现MVP设计模式的web应用程序,我有点困惑:

  • 应用程序只有一个地方可以显示由三个较小的视图组成的内容,不可能只在另一个地方与视图交互(从一个视图中选择某个内容将要求其他两个视图加载一些不同的数据,并允许其编辑),在这种情况下使用MVP是一个好主意吗
  • 假设我将继续使用MVP设计模式,那么只有一个地方有三个不同的视图(活动)是正确的吗?问题出现了,因为我查看的所有web应用程序通常都有一个地方一个活动的关系,这是有意义的,因为当你浏览到另一个页面时,它代表另一个有自己活动的地方(不是我的情况)
  • 此外,我应该如何让每个视图的演示者彼此交互?例如,我需要在第一个视图中的ClickEvent上,宣布其他两个视图根据所选项目加载一些数据?我是否应该只使用一个演示者来最终处理所有业务逻辑

  • 您可以将选中某个对象的视图设置为主视图,并将其他两个视图作为子视图。即使如此,你也有一个主演示者和两个副演示者。如果主视图中的选择发生更改,主演示者将通知子演示者重新加载新数据。子视图和子演示者不需要知道他们的主视图。

    最后,我使用了一个主视图,其中包含3个活动,每个活动都有特定的视图,演示者将通过彼此之间的事件进行交流。