我最近一直在研究GWT和MVP,说实话我很困惑。我的项目将包括大约40个不同的地方或观点。在阅读多个教程时,有些人遵循模型 - 视图 - 演示者,其他人使用活动和地点,所有这些都在MVP,GWT的主题下。
我不确定要为新的MVP,GWT 2.2项目做些什么。
非常感谢, 亚历
答案 0 :(得分:5)
Alex,
活动和地点是Google对MVP框架的实施。 GWT有许多完善的附加MVP框架,其中包含许多尚未纳入GWT的附加功能。我建议的两个是:
GWT平台:http://code.google.com/p/gwt-platform/
MVP4G:http://code.google.com/p/mvp4g/
它们具有许多附加功能,可以减少为实现解决方案而必须编写的样板代码量。在选择Google的A& P之前,它们值得一个高峰。
干杯 基因
答案 1 :(得分:4)
活动和场所是在GWT 2.2中实施的MVP解决方案。在此之前,MVP只是一种没有Google提供的官方框架的推荐方法。这就是为什么你会感到困惑。
我建议你坚持使用“活动和地方”,因为它是适用于MVP的Google官方解决方案。
我希望它有所帮助。
答案 2 :(得分:3)
事实证明,Activity
在MVP设计模式中扮演Presenter的角色。并非所有演示者都需要成为活动,但如果您有Activity
,则可以将其视为一种特殊类型的Presenter,具有明确定义的生命周期,用于从一个“位置”转换到另一个“位置”。
所以这不是MVP和“活动与场所”之间的选择。相反,他们都是一样的想法。新活动&地方框架只是一个改进。
答案 3 :(得分:2)
亚历,
活动和场所(以及ActivityMapper等)是GWT团队提供的用于形式化其早期MVP模式建议的类。前段时间我尝试了“原始”MVP建议,目前正在使用上述课程提供的更高级别的方法。使用新课程当然更容易。除了一个不错的MVP抽象之外,您还可以获得在应用程序中处理浏览器历史导航的重要方面。
似乎MVP API仍然存在,所以如果你使用的是GWT 2.2.x,我还建议你从项目开始就使用新的MVP类。
答案 4 :(得分:2)
活动和场所不是MVP框架!谷歌在后来的文档中消除了这种“干扰”。它只是一个浏览器历史框架(轻松(de)序列化应用程序的状态)。但是在实施MVP和使用A& P时,事实证明在很多情况下合并活动和演示者是个好主意。
在更一般的情况下,一个活动可以启动n个演示者。
答案 5 :(得分:0)
我们在设计中使用了活动和场所以及演示者。我们还使用了MVP。
设置是一个视图,viewImpl,如果需要,在视图界面内部是一个也被声明的演示者界面。视图接口是传递给viewImpl实现类的。活动根据它的业务逻辑进入viewImpl,在我们的例子中,viewImpl转到了一个独立的复合小部件。
如果需要,复合小部件使用演示者返回(另一个传递)到活动。顺便说一下,视图或viewImpl中没有业务逻辑,只有在活动中。它运作良好!