我刚读了这篇文章,确实让我很困惑。
其次,这个模型允许我们最小化 GWTTestCase 的使用,它依赖于浏览器的存在,并且对于我们的大部分代码,编写轻量级(和快速)JRE 测试(不需要浏览器)。[1]
这是我遵循这种设计模式的全部好处吗?它似乎使代码更复杂......你使用这种模式吗?
我不得不不同意,MVP 使代码变得不那么复杂,尤其是在 GWT 的情况下。如果您计划进行中型到大型 GWT 项目,那么 MVP 架构是您的主要选择。我建议同时查看 GWT MVP(由 Google 提供)和 gwt-platform(由 KennethJ 建议)。还有其他实现。
MVP 的主要好处(我的意思是 MVP 模式——不仅仅是 GWT MVP):
您可能采用的其他补充技术:
相比有什么优势?如果您的意思是与标准 MVC 模式(UI 开发的常见模式)相比的优势,那么是的,我想这是这种模式的主要原因
GWTTestCases 比标准的 junit 测试要慢得多且麻烦得多。您希望使用标准 java 测试框架测试逻辑,并使用 GWTTestCase 仅测试 UI 特定逻辑。
不使用 GWTTestCase 的事实非常棒,特别是如果您进行测试驱动开发,但还有其他很大的好处,比如提到的 topchef。这取决于您使用的 MVP 的“版本”。当我看到人们将 Presenter 注册为从视图中公开的小部件的侦听器时,我感到畏缩。
一般而言,围绕 MVP 的问题之一是有多种风格,新接触该模式的人会感到困惑,因为每种风格都有不同的优点和缺点。您可以查看这两篇文章,以帮助确定它是否适合您并获取有关 MVP 的更多详细信息(以及您可能会混淆的其他内容):GWT MVP Pattern和GWT MVP,Activities and Places Confusion。