我与GWT MVP Development with Activities and Places示例略有混淆。 这是我第一次接触这样的设计模式。我设法在我的项目中实现它,令我惊讶的是它确实有效。历史作品,事件火灾等等。
由于我完全按照示例,我的演示者是每次用户导航时创建的一次性活动,并且视图保存在ClientFactory中。一切都是分开和干净的。
现在我无法理解以下内容:在我的应用程序中,用户可以随时选择一个全局选项:这会触发一个事件,通知当前活动(需要) 。现在我觉得有点傻,但如何将全局选项对象传递给事件触发后创建的活动?
在示例中,Activities的构造函数接收一个Place参数,该参数只能包含简单的字符串(全局选项对象不是stringyfiable)和clientFactory。 现在我将全局选项放在ClientFactory中,但必须(或感觉)错误。我是否可以将它放在AppActivityMapper中,它创建了Activity对象?我在这里错过了一些大事吗?
答案 0 :(得分:1)
你遇到了Stack Overflow(GWT MVP with Places & Activities - Where's the Model?)其他地方描述的问题 - 活动& Places演示版不包含MVP的Model组件。
虽然感觉不对,但我建议将此模型数据实例存储在ClientFactory中,或让ClientFactory提供getModel()方法。数据模型返回可能包括您的全局选项。
上述文章中提供的替代策略是针对您的“一次性”活动实际从ClientFactory获取持久性Presenter,或者您的Activity在创建时检索数据模型。