407 Injeção de Dependência Com a lib Dagger 2 no Android
Injeção de Dependência Com a lib Dagger 2 no Android

Injeção de Dependência Com a lib Dagger 2 no Android

❤ 559 , Категория: Новости,   ⚑ 10 Авг 2017г



Nesse vídeo apresento uma maneira de implementar o design pattern Injeção de Dependência no Android, utilizando a lib Dagger 2 que é mantida pelo Google. Logo no início do vídeo explico o que é o design pattern Injeção de Dependência (simples de entender), as vantagens ao uso desse pattern ao invés de outras abordagens para obtenção de objetos, como: Construtores de classes e Factory design pattern, por exemplo. Vantagens (maximização da reutilização de código, testes e manutenção) citadas na documentação do package javax.inject, que também é necessário no trabalho conjunto com a lib Dagger 2 na implementação da Injeção de Dependência.

Importante ressaltar que o Dagger é para o Java, a Injeção de Dependência é um design pattern de programação, para qualquer linguagem.

Para finalizar o post e tentar explicar de uma maneira mais fácil o pattern, pense em sua classe A que tem uma variavel de instancia do tipo classe B, no momento sua classe A está instanciando a classe B dentro do construtor dela, isso é um exemplo de uma dependência forte e forte acomplamento entre as entidades, ocasionando maior quantidade de código alterado quando somente a entidade B precisa sofrer atualização (perdendo em manutenção) , perda de reuso de código, onde somente a entidade A era necessária e a perda de eficiencia em testes unitários, tendo em mente que a criação de entidades fakes de testes será ainda mais complexa devido a forte dependência. Porém modificando um pouco a classe, digo, permitindo que a classe A apenas receba uma entidade B já construída fora da classe A, já é um grande ganho no código, implementando assim a Injeção de Dependência. Porém mesmo com o design pattern implementado ainda há «n» outros problemas a serem resolvidos, isso é o que o Dagger vem também resolver. Sem mais delongas vou deixar você assistir ao vídeo. Note que a principal vantagem do Dagger 2 em relação ao Dagger 1 é não utilização de Instrospection e Reflection que causam perda de eficiência.

Читайте также:  CS76 Lecture 2 Android (Java Primer)

Segue link do post no Blog: http://www.thiengo.com.br/injecao-de-dependencia-com-a-lib-dagger-2-no-android

Segue link do project no GitHub: https://github.com/viniciusthiengo/dagger-2-example

Segue link do post comentado no vídeo:

ButterKnife Lib, Simplificando Acesso a Views no Android (http://www.thiengo.com.br/butterknife-lib-simplificando-acesso-a-views-no-android)

Segue links dos resursos utilizados para construir o vídeo:

Página oficial da lib Dagger 2 (https://google.github.io/dagger/)

Página oficial do package javax.inject (http://docs.oracle.com/javaee/7/api/javax/inject/package-summary.html#package.description)

Post «Tasting Dagger 2 on Android» do Blog Fernando Cejas (http:// fernandocejas.com/2015/04/11/tasting-dagger-2-on-android/)

Post «Dagger 2.0 Android migration tips» do Blog Siphon9 (http://siphon9.net/loune/)

Primeiro post (de três) da série «Dependency Injection on Android: Dagger» do Blog Antonio Leva (http://antonioleiva.com/dependency-injection-android-dagger-part-1/)

Post resposta no stackoverflow sobre o que é Reflection (não esqueça de ler o comentário com mais up votes) (http://stackoverflow.com/a/37632/2578331)

Post «Dependency Injection With Dagger 2 on Android» do Blog do portal Tuts+ (http://code.tutsplus.com/tutorials/dependency-injection-with-dagger-2-on-android—cms-23345)

Bitbucket do android-apt plugin ( https://bitbucket.org/hvisser/android-apt)

Post «Dependency Injection With Dagger 2» em Codepath (https://guides.codepath.com/android/Dependency-Injection-with-Dagger-2)

Vídeo «Dependency Injection With Dagger 2» em SlideNerd YouTube channel (https://www.youtube.com/watch?v=SKFB8u0-VA0)

Post «Dependency Injection» no blog Jenkov.com (http://tutorials.jenkov.com/dependency-injection/index.html)

Vídeo «Dependency Injection» Anthony Ferrara YouTube channel (https://www.youtube.com/watch?v=IKD2-MAkXyQ)

Vlw

Meu livro de programação: https://thiengo.birdingbox.com/lp/livro-refatorando-para-programas-limpos

Código de 20% de desconto na Novatec ( http://novatec.com.br/ ) : THIENGO

APP do Blog: https://play.google.com/store/apps/details?id=br.thiengocalopsita&hl=pt_BR

Siga no Google Plus: https://plus.google.com/+ThiengoCalopsita

Siga no Twitter: https://twitter.com/thiengoCalops

Curta no Facebook: https://www.facebook.com/thiengoCalopsita

Источник


По теме: ( из рубрики Новости )

Оставить отзыв

Ваш адрес email не будет опубликован.

*
*

одиннадцать + семнадцать =

Похожие записи

наверх