2010-11-05 45 views
0

我与GWT MVP Development with Activities and Places的例子有些混淆。 这是我第一次接近这样的设计模式。我设法在我的项目中实现它,并且让我惊讶的是它确实有效。历史作品,事件火好等。带活动和场所的GWT MVP - “全局”参考?

由于我完全按照示例,我的演示者是一次性活动,每次用户导航时创建,并且视图保留在ClientFactory中。一切都是分开的,干净的。

现在我无法围绕以下内容了:在我的应用程序中,用户可以随时选择一个全局选项:这会触发一个事件,通知当前的活动(这是期望的)。现在我感觉有点傻,但是如何将全局选项对象传递给事件触发后创建的活动?

在这个例子中,Activities的构造函数接收一个只能容纳简单字符串(全局选项对象不是stringyfiable)和clientFactory的Place参数。 现在我在ClientFactory中放置全局选项,但必须是(或感觉)错误。我应该把它放在创建Activity对象的AppActivityMapper中吗?我在这里错过了一些大事吗?

+0

只是为了制作一些广告:还有另一个很好的mvp实现,可能不那么让人困惑:http://code.google.com/p/mvp4g/ – 2010-11-12 21:06:33

回答

1

您遇到了堆栈溢出(GWT MVP with Places & Activities - Where's the Model?)中其他位置描述的问题 - 活动& Places演示不包含MVP的模型组件。

尽管感觉不对,我建议将此模型数据实例存储在您的ClientFactory中,或让您的ClientFactory提供getModel()方法。数据模型返回可能包含您的全局选项。

上述文章中介绍的替代策略是针对您的“一次性”活动实际从ClientFactory获取持久Presenter,或者让您的Activity在创建时检索数据模型。