Injeção de Dependência Com a lib Dagger 2 no Android
(7081) (10)
CategoriasAndroid, Design, Protótipo
AutorVinÃcius Thiengo
VÃdeo aulas186
Tempo15 horas
ExercÃciosSim
CertificadoSim
CategoriaDesenvolvimento Web
Autor(es)Robert C. Martin
EditoraAlta Books
Edição1ª
Ano2023
Páginas416
Opa, blz?
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 ínicio 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 eficiencia.
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
Segue links dos resursos utilizados para construir o vídeo:
Página oficial da lib Dagger 2
Página oficial do package javax.inject
Post "Tasting Dagger 2 on Android" do Blog Fernando Cejas
Post "Dagger 2.0 Android migration tips" do Blog Siphon9
Primeiro post (de três) da série "Dependency Injection on Android: Dagger" do Blog Antonio Leva
Post "Dependency Injection With Dagger 2 on Android" do Blog do portal Tuts+
Bitbucket do android-apt plugin
Post "Dependency Injection With Dagger 2" em Codepath
Vídeo "Dependency Injection With Dagger 2" em SlideNerd YouTube channel
Post "Dependency Injection" no blog Jenkov.com
Vídeo "Dependency Injection" Anthony Ferrara YouTube channel
Vlw
Comentários Facebook