以下是什么意思?
GWT Develeopment中的目标
我们需要愚蠢的观点,而不是愚蠢的UI (View在这里是什么意思,MVP中的UI是什么?它令人困惑,请用一个小例子来解释一个简单的例子)
•避免在视图中显示状态 (它说的是哪个州,请用一个小例子来解释,一个简单的例子)
•交换不同平台的视图 (这里交换的是什么?他是否意味着改变不同的技术,比如从GWT到Flex)
请用一个简单的例子来解释:)
由于
答案 0 :(得分:2)
我认为这意味着您应该尽量避免在视图中使用复杂的业务逻辑和模型状态。人们主张将GWT中的视图保持为尽可能愚蠢的原因是视图具有与窗口小部件相关的代码,并且每当您尝试在GWT中测试窗口小部件相关代码时,您必须回退到慢GWTTestCase
而不是快速JUnit
测试。
在TDD(测试驱动开发)中,您严重依赖测试,为了实现高效开发,这些测试应该快速运行
因此,您尝试在GWT中执行的操作是尽可能使视图保持愚蠢,这样它们就不需要进行大量测试(可能只是最后的集成测试),并将所有与业务相关的代码放在演示者中。 Presenter应该没有与widget相关的代码,应该处理模型状态。然后,您可以使用快速JUnit测试来完全覆盖演示者中的业务逻辑代码。有关详细信息,请参阅here和here。
替换不同平台的视图是指例如针对不同设备具有不同的视图实现。从不同设备查看时,为邮件应用程序设置不同的布局是有意义的
在屏幕尺寸足够的平板电脑上,您可能会在左侧显示邮件列表,在中间部分显示实际邮件内容。但是在手机上,您可能只显示邮件列表,当您点击邮件时,视图将更改为邮件内容。
邮件应用程序的业务逻辑独立于布局/视图。因此,您尝试将此代码放在Presenter中,并以一种可以根据用户代理轻松换出它们的方式设计您的视图。您可以在GWT存储库和mobilewebapp中查看I/O conference talk示例应用。
答案 1 :(得分:1)
这就是全部,希望这可以帮助你。