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 Primaria e outra chamada Secundaria.
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?

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 »