Boa noite.
Se entendi direito, para fazer uma busca no banco, usamos algo assim:
$id = $um_id_qualquer
$aluno = new Aluno($id,'qualquer_coisa','outra_string_qualquer');
$aluno = $repositorio->buscar($aluno)
Pergunta: O que estamos ferindo se fizermos:
$id = $um_id_qualquer
$aluno = $repositorio->buscar($id)
Considerando que em ambos os casos, lá no repositório, o resultado da busca já será hidratada e retornará o objeto Aluno.
Pergunto isso porque do primeiro jeito temos que primeiro instanciar um aluno para poder passar para o repositório. Como só interessa o ID, colocamos dados fake nos outros atributos.
Já do segundo jeito, já passamos direto o ID para o repositório.
Como o resultado final em ambos os casos será exatamente o mesmo (retornará um objeto do tipo Aluno), qual a diferença?