Frage

Ich habe eine Anwendung, die Unteranwendungen enthält.Ich möchte die Gin-Injektion trennen, so dass jede Unteranwendung separate Instanzen derselben Kernklassen aufweisen kann.Ich möchte auch, dass der Injektor Klassen von einigen Kernmodulen an alle Unteranwendungen liefert, damit Singleton-Instanzen gemeinsam genutzt werden können.z. B. / p> generasacodicetagpre.

In Guice kann ich dies mitgenehmig machen, aber ich kann kein offensichtliches Äquivalent in Gin sehen.

Kann ich in Gin etwas Ähnliches erreichen?

War es hilfreich?

Lösung

Hier ist es auf SOF http://code.google.com/P/ Google-Gin / Wiki / PrivateModulesDesignDoc . Ich hoffe, es hilft Ihnen heraus.

Andere Tipps

Ich habe dies dank der von @abderrazakk angegebenen Link gelöst, aber da der Link mit Anweisungen nicht sehr bevorsteht, dachte ich auch hier eine Musterlösung:

Private Gin-Module ermöglichen es Ihnen, ein einzelnes Niveau der hierarchischen Injektion zu haben, wobei in einem privaten Modul registrierte Typen nur für andere in diesem Modul erstellte Instanzen sichtbar sind. In allen nicht privaten Modulen registrierten Typen sind noch allen verfügbar.

Beispiel

Lassen Sie uns einige Musterarten zum Injizieren (und injizieren in): generasacodicetagpre.

Erstellen Sie zwei private Module wie dieses (mithing thingeigher2 für den zweiten): generasacodicetagpre.

und ein gemeinsam genutztes Modul: generasacodicetagpre.

Registrieren Sie nun die beiden Module in unserem Injektor: generasacodicetagpre.

Schließlich können wir schauen und sehen, dass sowohl das Dingowner1- und Dingowner2-Instanzen dieselbe Sharedtel-Instanz vom gemeinsam genutzten Modul haben, aber unterschiedliche Instanzen von ihren privaten Registrierungen: generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top