Pergunta

Eu tenho um aplicativo AA WPF Prism Desktop com alguns módulos. No passado, coloquei todos os meus recursos localizados em arquivos de recursos comuns na montagem da infraestrutura e o referenciei em todos os módulos.

Mas, ultimamente, tenho me perguntado se essa é realmente a abordagem certa da perspectiva de manutenção. Em essência, também meio que quebra a modularidade. Ter arquivos de recursos específicos do módulo nos próprios módulos seria uma abordagem melhor a longo prazo?

Todos os pensamentos apreciados.

Foi útil?

Solução

No que diz respeito a um dos principais alvos do Prism, a modularidade parece óbvia colocar seus recursos apenas na assembléia apropriada. Compartilhar recursos por meio de uma montagem centralizada é o oposto da modularidade. Fazendo isso, a maneira centralizada lhe dará outro tipo de inferno da DLL no momento em que você deseja adicionar mais módulos (opcionais). Você precisará atualizar a montagem comum sem o conhecimento dos módulos que usam a montagem. E determinar qual módulo está presente apenas novamente viola a própria modularidade. A outra maneira é sempre atualizar a montagem comum para a versão mais recente. Faça o que fizer, seguir a abordagem centralizada o força a construir todos os seus módulos compatíveis com versões anteriores.

Este é o meu ponto de vista no momento. Mas, tanto quanto estou trabalhando com Prism por apenas algumas semanas agora, não tenho certeza se minha declaração é assim que deve ser feita.

Outras dicas

Eu nunca tenho referências entre os módulos individuais ao usar o prisma (a menos que um módulo seja realmente um aprimoramento de outro). Costumo colocar recursos compartilhados, interfaces etc. em uma montagem "comum" referenciada por todos os módulos e a montagem que contém o shell. As coisas que implementam uma interface são recuperadas através do contorno do COI e a implementação é colocada no módulo onde 'pertence'.

Enquanto você escreve - tê -los no módulo de infraestrutura quebra uma das idéias por trás do prism.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top