【发布时间】:2010-06-28 14:48:29
【问题描述】:
我们正在使用 MVP 模式开发应用程序,如本指南中所述:
http://code.google.com/webtoolkit/articles/mvp-architecture.html
在创建控制器实例时,我们执行以下操作:
appController = new AppController(service, eventBus);
appController.go(RootPanel.get("SOME_SLOT"));
现在,当控制器创建某个演示者时,它会执行以下操作:
sthPresenter = new SthPresenter(service, eventBus, new SthView());
sthPresenter.go();
演示者将 eventBus 和服务保存到私有字段变量中,并根据需要使用其中任何一个。
随着应用程序的增长,我们有越来越多的presenter和views,所以问题是我们是否可以在presenter中使用不同的方法来获取服务和eventBus,而不通过每个presenter的构造函数传递引用。
例如,在控制器中创建一个静态字段,然后使用 AppController.getService() 之类的方法调用它。也许是单例模式。
控制器(或其他地方)中的静态字段对于此设计来说不是一个坏主意。请记住,代码会被编译为 javascript,如果这有什么不同的话。
【问题讨论】:
标签: java design-patterns gwt