módulo de back-end precisa de URLs de camada de apresentação - como evitar a dependência cíclica?
-
06-09-2019 - |
Pergunta
geração de URL em meu aplicativo web é responsável pela camada de apresentação. Agora considere outro módulo envio de mensagens que contêm URLs. (Não neccessarily desencadeada a partir de apresentação). No entanto, a camada de apresentação tem de saber sobre o módulo (uma vez que pode ser o gatilho, eo usuário pode configurar o módulo usando o frontend).
i. os módulos são dependentes um do outro ... alguma idéia de como essa dependência cíclica poderiam ser evitados?
O armazenamento URLs no meu banco de dados não parece certo para mim, mesmo vale para a fusão dos dois módulos.
Qualquer ajuda ou inspiração é ser muito apreciado. Thx.
Solução
Será que não usar uma ajuda de interface aqui? Como sobre a especificação e "consumir" uma interface UrlGenerator
no seu módulo de back-end e implementá-la em sua camada de apresentação?
Em combinação com algum tipo de mecanismo de injecção de dependência (padrão de fábrica para a construção de clientes UrlGenerator
, estruturas como mola ou Guice, serviço localizador padrão), isto irá quebrar as dependências cíclico de tempo de compilação.
Outras dicas
Criar um terceiro módulo, que ambos os módulos sei, mas eles não se conhecem?