有人能给我解释一下吗。这是一些场景。
假设我有一个类模板并在应用程序中使用 Gin/Guice。
@Singleton
public class Template extends Compose
{
private HorizontalPanel header;
private HorizontalPanel content;
private VerticalPanel menu;
public Template()
{
this.add(initHeader());
this.add(initMenu());
this.add(initContent());
}
public void setContent(Widget widget)
{
content.clear();
content.add(widget);
}
.............
......
}
并且在入门级
........
public void onModuleLoad()
{
RootPanel.get().add(new Template());
....
}
每次我需要重新加载我做的内容..
例如
HorizontalPanel hp = new HorizontalPanel();
hp.add ....
...
Template template = injector.getTemplate(); // return singleton instance using gin
template.setContent(hp)
等等..
所以,模板是单例的,据我所知,单例实例是每个 VM 一个,意思是由整个应用程序共享,对吗?模板类具有标题、菜单和内容,其想法是仅重新加载内容部分作为清理和添加小部件。但这是一个好方法吗?
例如,我们会不会出现用户“A” setContent(widgetA) 的情况,但同时用户“B”使用方法 setContent(widgetB) ,那么这里会发生什么?
谢谢,如果有人最终可以与我分享一个好方法并发表评论。
问候