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.


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.


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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.