MVP模式(GWT)的优势是什么

Mar*_*ark 5 mvp gwt design-patterns gwt-mvp

我刚看完这篇文章,确实让我很困惑.

其次,这个模型允许我们最小化GWTTestCase的使用,GWTTestCase依赖于浏览器的存在,并且对于我们的大部分代码,编写轻量级(和快速)JRE测试(不需要浏览器).[1]

这是整个好处,我是否遵循这种设计模式?它似乎使代码更复杂......你使用这种模式吗?

top*_*hef 8

我不同意,MVP使代码方式不那么复杂,尤其是在GWT的情况下.如果您计划中型到大型GWT项目,那么MVP架构是您的主要选择.我建议看看GWT MVP(谷歌)和gwt-platform(KennethJ建议).还有其他实现.

MVP的主要好处(我的意思是MVP模式 - 不仅仅是GWT MVP):

  • 明确分离GWT UI和业务逻辑; 所有客户端Java代码都变得非常通用,对GWT实现的依赖性最小(主要通过接口).这有助于测试,但它本身就是UI设计的宝贵好处.
  • 由于几乎不依赖于业务逻辑,UI的可维护性增加
  • 由于GWT依赖性有限,增加了客户端和服务器之间共享代码的数量

您可能采用的其他补充技术:

  • gwt-gin(Google Guice的客户端实现):gwtp几乎需要它(或者需要 - 我从来没有试过没有它)
  • Guice(服务器端)与客户端代码保持一致,但在技术上不是必需的
  • 测试模拟框架(例如mockito)总是方便MVP
  • GWT UIBinder - 除非您在UI设计中非常动态
  • GWT EventBus - 异步环境中客户端通信的主要方法,如AJAX/JavaScript
  • GWT-RPC通过命令模式(gwtp dispatcher和/或RequestFactory)