Pessoal,
Estou ‘tentando’ utilizar um modelo arquitetural para o meu TCC. Ele deve ser todo feito OO, independente da linguagem.
Estou utilizando a plataforma .NET, mas não vem ao caso.
O modelo elaborado (até então) utiliza o Facade, Singleton e DAO.
Preferi não colocar mais padrões para não criar mais “camadas” no sistema, pois já estou me perdendo no que já tenho.
Para o fluxo de mensagens, imagino que possa ser da seguinte forma:
Tela >> Classe de Fronteira (codigo da pagina)
Classe de Fronteira >> Facade
Facade >> Controlador
Controlador >> Entidade (que também se relaciona com as outras instancias)
Controlador >> Persistencia (DAO)
Não tenho dúvidas (pelo menos até o entendimento atual) do fluxo de ida, mas tenho dúvidas no fluxo de retorno, principalmente quando envolve retorno do banco de dados.
Vamos ao ponto principal da questão:
A principio seria interessante definir um fluxo os quais tenho os itens Categorias e Documentos. Uma categoria possui documentos. Um documento pode fazer parte de mais de uma categoria. Em modelo relacional, temos uma relação N…N.
Nas classes de entidade (apenas com métodos gets/sets) defino as colecoes:
Categoria tem um atributo de colecao de documentos e Documento tem um atributo de colecao de categorias. (Fiz uma redundancia, nao sei se conceitualmente está correto).
A DUVIDA:
Como faço para controlar as coleções de ambas entidades nao perdendo a performance (de preferencia as colecoes so devem ser populadas quando solicitado)??
Como deve seguir o fluxo de mensagens entre as instancias? Ex:
Fronteira >> Facade
- createCategory(nome, descricao): void
Facade >> Controlador
- createCategory(nome, descricao): void
Controlador >> Entidade
- new Entidade(nome, descricao): void
Controlador >> DAO
- create(Entidade)
[color=“red”]RETORNO
DAO >> Controlador ???
Controlador >> Facade ???
Facade >> Fronteira ???[/color]
Escrevi demais, mas achei importante ambientar, pois não sei exatamente o escopo de minha dúvida. Talvez possa abranger mais que isso.
Atenciosamente,
Danilo Costa