如果我将 MVP 模式与 GWT 结合使用(如 2009 年 Google I/O 中的 GWT 架构最佳实践讨论),但已将信息分散到多个小部件中,那么应该如何填充值对象?
假设我有一个 EditPersonView/Presenter、一个 EditPetView/Presenter 和一个 EditAddressView/Presenter,最后两个是作为 EditPersonView 中面板的一部分的小部件。有了这些,我有以下课程:
class PersonDetails {
private PetDetails pet;
private AddressDetails addressDetails;
// ...
}
PetDetails 和 AddressDetails 实例变量在其对应的演示者中进行管理。当用户单击 EditPersonView 中的“保存”按钮时,小部件之间应该如何进行通信,以便 PersonDetails 填充来自其子小部件的信息?
如果你看一下第 42 页推介会 http://code.google.com/events/io/2009/sessions/GoogleWebToolkitBestPractices.html作者:Ray Ryan,来自 Google IO 2009,您应该找到问题的解决方案。您使用“事件总线”(共享实例HandlerManager
)并解雇您的定制PetDetailsChangedEvent
事件并从您的子窗口小部件监听该事件(第 45 页)。另外,请记住,虽然解耦等很棒,但some耦合并不是一件坏事,实际上可能是一个比试图强制所有东西松散耦合更好的解决方案 - RR 自己在演讲中这么说:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)