Umkehrung der Kontrolle in der Einheit?

7

Ich bin ein halb erfahrener .NET-Entwickler, der gerade mit Unity angefangen hat. Ich versuche zu entscheiden, wie IoC in Unity 4.X funktioniert (ich habe noch nichts getestet), und ich frage mich, wie dies gut erreicht werden kann.

Dieser Beitrag und seine Antworten besagen, dass Ninject nicht mit Unity funktioniert, obwohl es alt ist. Ist es noch wahr? Wenn ja, was sind andere Mittel, um IoC in Unity zu erreichen?

Bearbeiten 1: Ich ziele hauptsächlich auf Windows-Plattform. Ich brauche also keine Plattform-Interoperabilität, ich brauche sie nur, um zu funktionieren.

actionjezus6
quelle
IIRC Ninject funktioniert in Mono einwandfrei, daher sollten Sie es zumindest als Service Locator verwenden können. Sie können jedoch keine Abhängigkeitsinjektion mit den von Unity instanziierten Klassen durchführen.
BlueRaja - Danny Pflughoeft

Antworten:

5

Sie möchten sich wahrscheinlich StrangeIOC ansehen.

http://strangeioc.github.io/strangeioc/

Es ist für die Einheit gedacht. Das Projekt befindet sich seit einiger Zeit in der aktiven Entwicklung, und ich habe weiterhin die Absicht, es zu überprüfen, aber bis jetzt habe ich es noch nicht getan, daher kann ich Ihnen keine persönliche Empfehlung geben. Aber es klingt genau so, wie Sie es wollen.

laaph
quelle
Dies ist definitiv was Sie wollen. Ich benutze es seit seiner Veröffentlichung (im Wesentlichen) und es ist sehr gut zusammengestellt mit großartiger Dokumentation. Ich kann mir ehrlich gesagt nicht vorstellen, ein Spiel in Unity ohne es zu entwickeln.
Cooper
Vielen Dank! Das ist etwas, das bisher meine Erwartungen übertroffen hat :)
actionjezus6
0

Ich weiß es nicht, aber niemand hat es geschafft, es unter Einheit auszuführen: http://forum.unity3d.com/threads/ios-dependency-injection-framework-suggestions.119909/ , kann aber sehr veraltet sein. Versuchen Sie dennoch, Ihre Frage an UnityAnswers zu senden, wo Sie mit größerer Wahrscheinlichkeit eine richtige Antwort erhalten.

Zitrusfrüchte
quelle
1
UnityAnwsers haben mich im Stich gelassen - answers.unity3d.com/questions/719987/… .
actionjezus6
u3d.as/content/thirdmotion/strange-io-c/4Xj das sollte dir helfen, wenn Ninject nicht funktioniert :)
Citrus