Injeção de dependência
Hoje vamos explicar um conceito muito utilizado nos dia-dia de programação a tão famosa injeção de dependência.
Antes de iniciar para ficar mais clara vou deixar um trecho de James Shore, onde é explicado de uma forma muito simples sobre injeção de dependência.
Injeção de dependência significa dar a um objeto suas variáveis de instância. Sério. É isso. — James Shore
Lendo este trecho fica tudo mais claro, mas qual a vantagem de utilizar ela?
A principal vantagem que vemos logo, é a possibilidade de poder deixar seu código testável, também ajuda na separação de responsabilidade da sua classe, na transparência dela assim sabendo quais informações ela precisar e ajudando no uso de protocolos.
Bom vamos ver alguns exemplos básicos de injeção de dependências.
Tipos de injeção de dependência:
Propriedades
Neste código vemos que a variável mensagem por padrão é internal assim conseguimos acessar a ViewController e modificar ela, isso é uma injeção de dependências por propriedades.
Inicialização
Este é o caso que é mais comum de se ver, nele deixamos a variável mensagem privada, assim não conseguimos visualizar a ela, porem para setarmos o valor dentro desta classe iremos utilizar o init, onde o parâmetro novaMensagem ira fazer este trabalho de dar o novo texto.
Método
Finalmente o método, neste caso vemos como passar informações para uma função e logo após modificarmos ele, repare que passamos a mensagem (Gustavo) que é a nossa injeção aonde irá manipular dentro do método para recebermos um novo valor.
Obrigado por ter lido até aqui, caso tenha alguma dúvida comente que assim que possível irei te ajudar.