Singletons in GWT-Projekt

Könnte einige erklären mich etwas. Hier ist ein Szenario.

Lassen an ich habe eine Klasse Vorlage und verwenden Sie Gin/Guice in der app.

@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);
    }
    .............
    ......
    }

- und in der entry-Klasse

........
public void onModuleLoad()
{

RootPanel.get().add(new Template());
....
}

Jedes mal muss ich neu laden der Inhalte, die ich tun..

Beispielsweise

HorizontalPanel hp = new HorizontalPanel();
hp.add ....
...

Template template = injector.getTemplate(); //return singleton instance using gin
template.setContent(hp)

usw..

So, Template singleton und soweit ich weiß, singleton-Instanz ist eine pro VM Bedeutung geteilt durch die gesamte Anwendung, mit der rechten?
Template-Klasse hat header, Menü und content, die Idee ist, legen Sie nur den inhaltlichen Teil, wie die Reinigung und das hinzufügen von widgets.
Aber ist das ein guter Ansatz?

Zum Beispiel, könnten wir eine situation wie user "A" setContent(widgetA) ,aber in der gleichen Zeit, Benutzer "B" verwenden Sie die Methode setContent(widgetB) ,was ist also passiert hier?

Dank, wenn jemand könnte mich ein guter Ansatz, schließlich und Kommentar ein.

Hinsichtlich

  • Korrigieren Sie mich, wenn ich falsch Liege (ich habe nicht verwendet Java in eine Weile), aber es sieht nicht wie alles, was ist, erzwingen Sie, dass im Objekt ein singleton. Sicher, Sie markieren es mit einem, der Dekorateur, aber ich glaube nicht, dass es sich um Magie für Sie. In meiner Erfahrung ist die Verwendung einer DI-system wie Guice (Gin für GWT).
  • Es ist mein Fehler, den ich noch nicht erwähnt habe, ich m mit Gin/Guice in der Anwendung. Ich werde den Beitrag aktualisieren.
InformationsquelleAutor brakebg | 2011-06-17
Schreibe einen Kommentar