【发布时间】:2014-11-06 10:17:56
【问题描述】:
我在 GWT 项目站点的 MVP 教程上阅读过,视图应该只包含它包含的小部件的事件处理程序,并且处理它们的逻辑应该驻留在演示器中。关于这一点,我有以下疑问:
很多时候我们需要根据视图上接收到的事件来动态改变小部件的样式,那么在prsenter中移动这种逻辑是否有意义?
很多时候,我们需要从视图中的多个字段获取数据并创建一个对象并将其传递给某个小部件,例如具有自己的 asyncDataProvider 的 cellTable。 那么为所有视图字段创建getter和setter是否有意义,以便演示者可以访问它们并形成对象并初始化cellTable并将对象传递给它? 在演示者的视图面板中添加小部件是个好主意吗?
我在所有地方都读到,将逻辑添加到演示者而不是视图的原因是为了增加 jUnit 测试覆盖率,从而节省时间。但是,据我所知,我们也可以在 View 上使用 mocking 框架来为其中的基本逻辑编写测试用例。
-
考虑到第 3 点,在视图中编写这么多代码(getter/setter)真的有意义吗?我相信只有在以下情况下,流程才应该从视图返回到演示者:
一个。我们需要切换视图
b.我们没有要在视图中显示的数据,因此演示者可以通过 RPC 提供它
【问题讨论】:
标签: java gwt design-patterns mvp