Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Injeção de Dependência

$
0
0

Olá pessoal!

Estou com uma dúvida conceitual com relação ao uso de Injeção de Dependência.

 

Tenho duas classes (Usuario e Endereco).

A classe Endereco é dependente da classe Usuario. 

Sendo assim, amarro o Usuário no construtor da classe Endereco.

 

Até aí, tudo bem.

Só que na hora que eu instancio a classe Endereco, para que o código não dê erro, sou obrigado a instanciar também a classe Usuario.

 

Oras, o padrão DI não existe justamente para evitar uma instância desnecessária no construtor ou num método setter?

Pelo que eu vejo, eu deixo de instanciar no construtor da classe dependente, porém não deixo de instanciar num outro componente quando for usá-lo.

 

Segue código abaixo:

<?php

// classe Usuario
class Usuario {}

// classe Endereco
class Endereco {
   public function __construct(Usuario $usuario) {
      $this->usuario = $usuario;
   }
}

// arquivo de instancia
$usuario = new Usuario(); // essa instância é que não faz sentido para mim...
$endereco = new Endereco($usuario);
?> 

...


Viewing all articles
Browse latest Browse all 14190