IoC.md
January 26, 2023 · View on GitHub
Inversão de Controle (Inversion of Control - IoC)
Chegamos ao módulo de IoC e pra te passar esse assunto, se liga nesse exemplo a seguir:
- Temos uma classe chamada
Primariae outra chamadaSecundaria.
public class Primaria{
private Secundaria secundaria;
public void metodoFodase(){
secundaria = new Secundaria();
secundaria.metodoVaiCaralho();
System.out.println("fodase");
}
}
public class Secundaria{
public void metodoVaiCaralho(){
System.out.println("vai caralho");
}
}
-
Deu pra perceber que a classe Primaria utiliza um método da classe Secundaria, ou seja, possui uma dependência.
-
O grande lance dessa dependência existente é que para utilizar o método da Secundaria, a classe Primaria seria obrigada a criar uma nova instância de Secundaria.
E como a Inversão de Controle entra nessa jogada?
-
Muito simples, o Spring realiza essa
Inversão de Controleutilizando o próximo tópico desse curso, aInjeção de Dependênciadelegando a um Container do framework que realizará a IoC.Resumindo, a Inversão de Controle é quando um objeto define suas dependências sem criá-los.
Tá e qual a vantagem disso?
-
Desacoplamento de classes.
-
Facilidade na manutenção do código.
-
Diminui a possibilidade de ocorrer aquela chuva de bugs em sequência.
Ir para: Dependency Injection »