Ich verwende Dependency Injection in meinem Code (mit Ninject) und dachte, dass es mir recht gut ging, bis ich auf ein Leistungsproblem stieß, das durch ein Missverständnis darüber verursacht wurde, wo DI-Container in Ihren Code passen. Es scheint eine Menge Informationen darüber zu geben, wie DI-Frameworks zu verwenden sind, aber nicht zu sehr, um sie nicht zu benutzen oder wie man sie am besten nutzt (zumindest das könnte ich finden)Dependency Injection Bewährte Methoden
Ich dachte ich würde was ausschreiben Ich denke, es gab einige Best Practices und sehen, ob andere Leute mir zustimmen und welche anderen Best Practices die Leute machen können.
- Verwenden Sie einen Kernel pro Anwendung oder AppDomain
- Verwenden Sie den DI-Container für langlebige Singleton-Objekte nur, Verwendung Fabriken (oder andere Methoden) für kurzlebige transiente Objekte)
- Bevorzugen Constructor Injection über Objekt oder Feldinjektion
- Objekte anfragen, nicht bauen
- andere ?? Hinweise auf gute Blog-Artikel/Artikel?
Was ist der Kernel? ist das ein Ninject-spezifisches Konzept (habe es nirgendwo anders gesehen)? – zvolkov
auch die Setzer gegen Konstruktor Injektionen ist ein religiöses Argument und als solches sollte vermieden werden. – zvolkov