Konfiguracja jest w kodzie zamiast w plikach konfiguracyjnych, co jest ważną decyzją dla wielu scenariuszy.
Tak, oznacza to, że musisz przebudować (prawdopodobnie tylko moduły), jeśli chcesz udostępnić inny sposób instalowania aplikacji - mimo że oczywiście możesz uzyskać wartości konfiguracyjne z argumentów wiersza poleceń, plików właściwości itd. jeśli chcesz.
Jeśli regularnie zmieniasz system hydrauliczny aplikacji i nie chcesz przenosić niczego poza jednym plikiem, Guice może nie być dla Ciebie. Jeśli z drugiej strony głównym powodem używania DI jest uczynienie kodu bardziej klarownym, a podczas produkcji zawsze będziesz używał tej samej kanalizacji (lub wystarczająco blisko), wtedy Guice jest dobrym rozwiązaniem - często są to elementy logiki, które chcesz do wykorzystania podczas sortowania instalacji i tak i komponentów, które są ogólnie trudne do opisania/konstruktywnie deklaratywnie.
Różne schematy DI mają różne zalety i kompromisy - użyj tego, który jest najbardziej odpowiedni dla twojego zastosowania.
Tak, mam na myśli to, że jedynym sposobem na zmianę zachowania jest odbudowanie całości. – JohnIdol