Qual a relação entre factory e repository, tendo em vista que uma cria novos objetos (factory) e outra retorna objetos da infra-estrutura (repository).
Se por exemplo ou mandar criar um novo objeto na factory, um objeto que é uma entidade… A factory usará o repository para salva-lo? isso é óbvio.
Mas esta seria a unica reação entre eles?
Minha dúvida é:
Para todas as requisições de objetos já persistentes, o cliente deve requisitar direto no repository?.. ou requisitar a factory que reconstroi o objeto usando o repository… e assim retornando ao cliente?
Qual a relação entre factory e repository, tendo em vista que uma cria novos objetos (factory) e outra retorna objetos da infra-estrutura (repository).
Se por exemplo ou mandar criar um novo objeto na factory, um objeto que é uma entidade… A factory usará o repository para salva-lo? isso é óbvio.
[/quote]
Isso não é obvio. É uma distorção sua. O objeto factory cria o objeto mas não usa o repositorio. Vc pode fazer a factory usar o repositorio, mas é escolha sua. Claro que ao fazer isso, a responsabilidade da factory deixa de ser apenas criar objetos e portanto deixa de ser uma factory.
A factory não usará o repositorio para salvar coisa nenhuma. Aliás porque ainda nem sequer existem dados no objeto.
Não vejo problemas em usar Repository como uma Factory, mas eles são diferentes.
Factory é um padrão utilizado em qualquer Camada para criar um objeto complexo, basicamente quando um construtor simples não dá conta.
Repository fica na Camada de Negócios, é ‘onde os objetos vão dormir’ quando são persistidos. Caso você queira colocar a criação de um novo objeto no Repository também ele pode ser uma Factory ou delegar para uma.