Używam Dependency Injection w moim kodzie (z Ninject) i uważam, że robiłem całkiem dobrze, dopóki nie natknąłem się na problem z wydajnością, który został spowodowany przez nieporozumienie, gdzie pojemniki DI pasują do twojego kodu. Wydaje się, że jest wiele informacji o tym, jak używać frameworków DI, ale nie za bardzo, gdzie ich nie używać, ani jak najlepiej z nich korzystać (przynajmniej to, co mogłem znaleźć).Najlepsze praktyki wtrysku zależnego
Pomyślałem, że napiszę co ja uważam, że są pewne najlepsze praktyki i zobacz, czy inni ludzie zgadzają się ze mną i jakie inne najlepsze praktyki mogą wymyślić ludzie.
- Użyj jednego jądro każdej aplikacji lub AppDomain
- użyć kontenera DI dla długowiecznych Singleton tylko obiekty, fabryki Wykorzystywanie (lub innych metod) dla krótkotrwałych przemijających przedmiotów)
- Wolę Konstruktor wtrysku w Nieruchomość lub wtrysk polowy
- Zamów obiekty, nie buduj ich
- inne? wskaźniki do dobrych blogów wprowadza/artykuły?
co to jest jądro? czy to jest koncepcja specyficzna dla Ninject (nie widziałaś jej nigdzie indziej)? – zvolkov
także zastrzyki settera kontra konstruktora są argumentem religijnym i jako takie należy ich unikać. – zvolkov