GWT和MVP;渲染逻辑

时间:2013-08-09 15:24:23

标签: gwt web mvp

如果这是一个愚蠢的问题我很抱歉,但我最近有以下用例。

我有一个我想要重用的组件,在一个实例中我希望能够编辑数据,而在另一个实例中我只希望它可以被查看。

所以这意味着在一个用例中我想渲染说标签1,2和3以及编辑按钮,在第二个用例中我不想渲染编辑按钮。

现在我正在使用mvp模式,我目前的理解是逻辑不应出现在演示者中。

我的问题是:如果我想基于演示者的逻辑渲染组件,我该怎么做而不在视图中引入逻辑。

非常欢迎简短的例子:)

1 个答案:

答案 0 :(得分:0)

后端>发送> 模型>到> 演示者>在>上调用显示方法视图

您的模型将是POJO(通常是从后端检索的共享对象)。演示者将进行RPC调用以检索它。根据模型配置,演示者在接收模型时将会或不会调用视图上可用的某些“setAsEditable(Boolen editable)”方法。

视图>将事件发送到> 演示者>更新> 模型>并将其发送给> 后端

当用户对视图执行某些操作时,演示者将收到通知(通过事件或基于接口)并更新模型。请注意,模型更新逻辑(如显示逻辑)也应位于演示者中。然后,演示者(通过RPC)将模型推回到后端。业务逻辑留在后端。

个人注意事项:

Hardcore MVPers会强制组件之间严格的松耦合,但它通常涉及编写大量事件类和/或接口(有些称之为样板)。务实。当我知道我的组件不会被重用时,我有时会避免使用这种架构,并等到我需要重用。

但如果你能保持纯洁,那就很好!