Nelle mie app Android sto utilizzando Otto come bus eventi e Dagger per l'iniezione delle dipendenze.Vantaggi dell'iniettare il bus di eventi Otto invece di usare il singleton statico
Nell'userguide di Otto e in molti post del blog si consiglia di utilizzare l'iniezione per ottenere un autobus singleton. L'ho fatto per un po 'di tempo, ma ultimamente sto diventando più dubbioso se iniettare il bus abbia qualche vantaggio sull'uso di un semplice singleton statico.
Con l'iniezione devo iniettare ogni vista personalizzata o ViewHolder che voglio essere in grado di inviare eventi UI sul bus. Soprattutto con il pugnale sembra un po 'maldestro iniettare ogni classe in cui ho bisogno del bus. Certo, potrei passare il bus per metodo costruttore o setter, ma può essere anche un po 'goffo se pensi ad un adattatore con molti tipi di visualizzazione diversi, per esempio.
E non vedo alcun vantaggio nell'iniettare il bus. Nel caso di Otto viene iniettata un'implementazione concreta (un'istanza di Bus) che non cambierà mai. Avvolgere Otto per disaccoppiare non ha senso se pensi, a causa del modo in cui funziona l'abbonamento.
Quindi, qualcuno vede qualche vantaggio nell'iniezione di Otto che non vedo?
Guarda http://stackoverflow.com/questions/2662842/dependency-injection-singleton-design-pattern – pjanecze
grazie, è molto istruttivo. –