Dependency Injection
Um padrão de projeto no qual um objeto recebe outros objetos dos quais depende. A injeção de dependência é uma forma de inversão de controle e é usada para aumentar a modularidade e reduzir o acoplamento entre os componentes de software.