Olá mestre,
No treinamento foi utilizado um array simples para armazenar os telefones. Caso eu utilize uma collection chamada Telefones e essa collection dependa de uma implementação externa de um mapa eu terei que passar essa collection para o Aluno via injeção de dependencia ou é muito capricho? Exemplos:
//No dominio
class Aluno
{
private Telefones $telefones;
public function __construct(Telefones $telefones)
{ //código...
}
}
interface Telefefones
{
public function adiciona(Telefone $telefone): void;
public function remove(Telefone $telefone): void;
//etc
}
//Camada de Infra
// Penso que deva estar na camada de infra por depender de uma lib externa
// Injetei o ArrayCollection diretamente por que talvez seja um capricho exagerado ter isso no construtor
class TelefonesCollection implements Telefones
{
public function __construct()
{
$this->telefones = new ArrayCollection();
}
//metodos...
}
Essa abordagem apresentada acima é a mais próxima da ideal? Eu Ou devo seguir algo mais simples com menos capricho? Como por exemplo tudo isso pertencer a camada de domínio e não precisar dessa interface Telefones e ter a implementação diretamente lá?