Question

J'ai une application de bureau WPF Prism avec quelques modules. Dans le passé, j'ai mis toutes mes ressources localisées dans des fichiers de ressources communs dans l'assemblage de l'infrastructure et je l'ai référencé dans tous les modules.

Mais ces derniers temps, je me demandais si c'est effectivement la bonne approche du point de vue de la maintenance. Essentiellement, il brise également la modularité. Le fait d'avoir des fichiers de ressources spécifiques au module dans les modules eux-mêmes serait une meilleure approche à long terme?

Toutes les pensées appréciaient.

Était-ce utile?

La solution

En ce qui concerne l'une des principales cibles de Prism est la modularité, il semble évident de mettre vos ressources uniquement dans l'assemblage approprié. Le partage des ressources via un assemblée centralisée est l'opposé de la modularité. Le faire de la manière centralisée vous procurera un autre type de DLL Hell au moment où vous souhaitez ajouter plus de modules (facultatifs). Vous devrez mettre à jour l'assemblage commun à l'insu des modules qui utilisent l'assemblage. Et déterminer quel module est présent violent à nouveau la modularité elle-même. L'autre moyen est de toujours mettre à jour l'assemblage commun à la dernière version. Quoi que vous fassiez, suivre l'approche centralisée vous oblige à construire tous vos modules compatibles en arrière.

C'est mon point de vue en ce moment. Mais pour autant que je travaille avec Prism depuis quelques semaines maintenant, je ne sais pas trop si ma déclaration est la façon dont cela devrait être fait.

Autres conseils

Je n'ai jamais de références entre les modules individuels lors de l'utilisation du prisme (à moins qu'un module ne soit en effet une amélioration d'une autre). J'ai tendance à mettre des ressources partagées, des interfaces, etc. dans un assemblage «commun» qui est référencé par tous les modules et l'assemblage contenant la coque. Les choses qui implémentent une interface sont ensuite récupérées via le CIO-Contisener et l'implémentation est placée dans le module où il appartient.

Au fur et à mesure que vous écrivez - les avoir dans le module d'infrastructure brise l'une des idées derrière le prisme.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top