2011-04-06 63 views
9

我一直在研究GWT和MVP最近,说实话我很困惑。我的项目将包括大约40个不同的地方或一起浏览。在阅读多个教程时,一些人遵循Model-View-Presenter和其他人使用活动和场所,所有这些都是以MVP,GWT为主题的。MVP或活动和地方,为GWT 2.2

我不确定为什么要遵循一个新的MVP,GWT 2.2项目。

非常感谢, 亚历

+1

你不必选择:活动和地点实际上与MVP毫无关系(它们全都只是关于导航和松耦合)。因此,只需使用两者(即建立您的活动作为主持人,正如pohl在他的回答中所说) – 2011-04-06 21:53:17

回答

5

Alex,

活动和场所是谷歌实施的MVP框架。 GWT有许多已经建立起来的附加MVP框架,其中包含许多尚未纳入GWT的附加功能。这两个我建议是:

GWT平台:http://code.google.com/p/gwt-platform/

MVP4G:http://code.google.com/p/mvp4g/

他们有许多额外的功能,以减少你必须写来实现解决方案的样板代码量。他们是值得峰值选择谷歌的一个& P.

干杯 基因

4

活动和地点是在GWT 2.2中实现的MVP的解决方案。在此之前,MVP只是推荐的方法,没有Google提供的官方框架。这就是为什么你会感到困惑。

我建议你坚持使用Activities和Places,因为它是MVP的官方Google解决方案。

我希望它有帮助。

2

亚历克斯,

活动和地点(以及ActivityMapper和更多)是其中GWT团队提供给他们正式较早MVP模式的建议类。前一段时间,我尝试了“原始”MVP建议,目前正在使用上述类提供的更高级别的方法。使用新类肯定会更容易。除了良好的MVP抽象外,您还可以免费获得在应用程序中处理浏览器历史导航的重要方面。

MVP API在这里停留,看起来如此,如果您使用的是GWT 2.2.x,我还建议您在项目开始时使用新的MVP类。

3

事实证明Activity在MVP设计模式中扮演了Presenter的角色。不是所有的演示者都需要活动,但是如果你有一个Activity,你可以把它看作是一种特殊的演示者,具有明确的生命周期,用于从一个“地点”转换到另一个“地点”。

所以这不是MVP和“活动&地方”之间的选择。相反,他们都是一样的想法。新的活动&地方框架只是一个改进。

2

活动和地点都不是MVP框架之前! Google在后面的文档中删除了这种“干扰”。它只是一个浏览器历史框架(用于轻松(反)序列化应用程序的状态)。但是在实施MVP和使用A时,事实证明,在许多情况下,合并活动和主持人是一个不错的主意。

在更一般的情况下,一个活动可以开始n个演示者。

0

在我们的设计中,我们使用了活动和场地以及演示者。我们也使用MVP。

该设置是一个视图viewImpl,并且在视图界面内(如果需要)是一个演示者界面,该界面也被声明。视图接口是传递给viewImpl实现类的。该活动根据其业务逻辑进入viewImpl,在我们的情况下,viewImpl转到独立的复合小部件。

如果需要,复合小部件使用演示者返回(另一个传递)到活动。顺便说一下,视图或viewImpl中没有任何业务逻辑,这只是在活动中。它运作良好!