Jestem wielkim fanem DI / IOC. Doskonale nadaje się do radzenia sobie z abstrakcyjnymi zależnościami i ułatwia życie.
Mam jednak niewielką wadę, której nie jestem pewien, jak rozwiązać.
Podstawową ideą w DI / IOC jest to, że gdy instancja obiektu jest tworzona, wszystkie jego zależności są wstępnie wypełniane w konstruktorze.
Jednak IMHO ma kilka rodzajów parametrów dla konstruktorów (szczególnie gdy twoje obiekty są niezmienne).
- Zależności (obiekty wymagane do działania obiektu)
- Konfiguracja (informacje o środowisku wymaganym do pracy)
- Parametry (dane, na których praca jest wykonywana)
Uważam, że MKOl działa dobrze z zależnościami. Ale wciąż próbuję znaleźć najlepszy sposób na radzenie sobie z pozostałymi dwoma. Ponieważ jednak konstruktor jest uruchamiany w kontenerze IOC, wydaje się, że muszę umieścić te elementy w kontenerze IOC.
Chciałbym wiedzieć, jakie strategie / wzorce stosują ludzie oraz jakie zalety i wady znaleźli ludzie.
NB. Wiem, że jest to pytanie bardzo subiektywne i starałem się, aby było to „dobre” pytanie subiektywne zgodnie z wytycznymi SE.
I am still trying to work out the best way to deal with the other two
- Przekazać je jako zwykłe parametry do obiektu?