Ich beginne eine neue Winforms-Anwendung, und ich beabsichtige, ein IoC/DI-Framework zu verwenden (wahrscheinlich Ninject, aber ich denke auch an StructureMap und LinFu).
Es scheint, als ob fast jeder, der IoC/DI verwendet, dies in einer webbasierten Umgebung tut und praktisch nichts über die Verwendung von Winforms damit gefunden hat.
Ich würde gerne wissen, ob jemand IoC/DI mit Winforms verwendet und welche Ansätze Sie verwendet, um mit Winforms bezogenen Fragen (z. B. wie Sie den Container in verschiedenen Teilen der App verfügbar machen, verwenden Sie den Rahmen, um Ihre Formulare zu instanziieren, etc )
Wenn jemand irgendwelche quelloffenen Winforms-basierten Projekte kennt, die IoC/DI verwenden (egal welches Framework, ich sollte in der Lage sein, Konzepte zu übersetzen), hätte ich gerne auch Links zu diesen.
EDIT :
Schreiben die Leute einfach keine Smart Clients mehr?
EDIT :
Wenn Sie mich auf einige realen Code, der IoC/DI in einer Winforms oder sogar Konsole Typ Anwendung (dh etwas, das nicht Web-basiert ist) verwendet zeigen könnte, würde ich es zu schätzen wissen.
EDIT :
Ich habe Ninject verwendet und entdeckt, dass Ninject gerne eine Instanz der gemeinsamen Kernel-Schnittstelle injiziert, wenn Sie einen IKernel-Konstruktorparameter angeben. Dies hat ziemlich gut funktioniert, aber ich würde immer noch gerne hören, andere Ansätze Menschen verwenden.
0 Stimmen
Jikes Ich muss noch eine Menge über .net lernen. Ich verstehe nicht einmal die Frage.
0 Stimmen
Eigentlich wurden diese Konzepte in Java populär gemacht. Und es hat nichts mit .NET an sich zu tun, ich verwende diese Techniken nur in .NET
0 Stimmen
Haben Sie bewährte Verfahren gefunden, wie man den Container über die Anwendung zugänglich macht? Oder ist es das, worum es im letzten EDIT geht? Bedeutet das, dass ich den Klassen, die es brauchen, einfach einen
IKernel
Parameter und Ninject erledigt den Rest (auch in einem anderen Unterprojekt)?