Ble*_*eek 6 java mvp gwt gwt-activities gwt-places
剥夺演示者从活动中的角色可以获得哪些优势?
为了剖析作为演示者的活动,可以分离哪些角色/关注点?
你为什么要把它们分成两个不同的问题?
在什么情况下不统一它们是否有意义?
举例,利弊.
我可以看到将演示者与活动分开的两个主要原因:可重用性和可测试性.
可重用性的真实用例:我们有一个插图实体,其中包含摄影师,版权和拍摄日期等属性,可以链接到文档.传说是关于文档和插图之间的关系.您可以在自己的屏幕上编辑插图和图例,但我们也希望可以从图例屏幕编辑插图.所以我们为插图画面做了一个演示者.插图活动是该演示者的一个非常薄的包装器,并且图例活动有点复杂,但重用了演示者和视图.活动的责任是提供RequestContexts并执行fire()(保存/取消按钮在其他活动上,类似于Google网上论坛上的操作).
可重用性的假设用例:
关于可测试性(这是理论上的),您可以在没有活动生命周期的麻烦(模拟视图)的情况下测试您的演示者,然后单独测试生命周期(是否正确初始化和清理演示者,获取/缓存数据,嘲笑主持人).
另请参阅https://code.google.com/p/google-web-toolkit/source/detail?r=10185的提交消息
Ray的想法是让MVP成为小部件的实现细节,就像单元格小部件使用内部演示者一样今天.从外面看,它们只是小部件,你可以按照你想要的方式构图; 在内部,他们使用MVP,因此您可以测试它们而无需a GWTTestCase.