Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dagger_para_IoT.pdf

 Dagger_para_IoT.pdf

Presentation slides from GDG Recife Meetup 13/03/2017

Avatar for Evandro Lima Filho

Evandro Lima Filho

March 10, 2017

Other Decks in Programming

Transcript

  1. Porque usar Injeção de Dependência? • O que acontece quando

    o construtor da dependência muda? • De quem é a responsabilidade de criar a dependência? • Será que eu posso criar uma subclasse da minha dependência mudar o comportamento sem precisar ajustar minha classe? • E quando você precisa testar a classe isoladamente com stubs ou mock?
  2. S.O.L.I.D. • S (Responsabilidade Única) • O (Aberta/Fechada) • L

    (Substituição de Liskov) • I (Segregação por Interface) • D (Inversão de Dependência)
  3. Inversão de Controle IoC (Inversion of Control) é um termo

    amplo para se referir a um comportamento. (Paradigma) Injeção de Dependência é uma forma de implementar esse paradigma.
  4. DAGGER 2 • Mantido pelo Google https://github.com/google/dagger/ • Não usa

    introspecção ou magia negra em runtime • Código gerado é “debugável” e legível • 100% Proguard Free • Sem penalidade de performance
  5. • Define quais módulos serão usados para prover as instâncias

    • Define qual cliente irá receber as dependências
  6. Activity Scope Application Scope Aplicando: Feed Sample AppComponent AppModule ActivityComponent

    PresenterModule NasaApiService FeedPresenter PhotosInteractor Módulo Depende Módulo Provê Provê
  7. Links Interessantes • DAGGER 2 - A New Type of

    dependency injection https://www.youtube.com/watch?v=oK_XtfXPkqw • The Future of Dependency Injection with Dagger 2 https://www.youtube.com/watch?v=plK0zyRLIP8 • Understanding Dagger 2's Generated Code https://www.youtube.com/watch?v=wCvXe2LsN5o