リソースファイルはどこでどの粒度(application/assembly/namespace/class/...)になるべきですか?.NETアプリケーションでリソースをグループ化するための最良の方法は何ですか
レイヤードアーキテクチャを使用すると、アプリケーションを個別の専用アセンブリに分割できます。利点は、依存関係を管理してコードが束縛されないようにすることがより簡単であることです。
アプリケーション全体のリファクタリング時に、断片を別々のアセンブリに分割したり、独自のアセンブリに移動したりすることができます。これは、機能がコアレイヤーに移動するのに十分に成熟したか、またはそれを独自のアセンブリに移動させるのに十分な大きさになったために起こる可能性があります。
リファクタリング処理中に、リソースを移動する必要があります。リソースをグループ化するための戦略や実行されるリファクタリングのタイプによっては、多かれ少なかれ難しいかもしれません。 - アセンブリごとに1つのリソースファイルに - アセンブリ内の名前空間ごとにリソースファイルに - リソース内にリソース(文字列、イメージ、ファイルなど)をグループ化できました。 - アプリケーション内のすべてのアセンブリで共有される1つのアセンブリ内で、 など。
リファクタリングはリソースの選択されたグループ化戦略の影響を受けることがあります。リソースファイル内の文字列の翻訳など、他の操作も影響を受けます。
ベストプラクティスとはどのようなグループ戦略が考えられますか?
私は共有リソースアセンブリの考え方が嫌いです。結束力の弱いシステムで終わるかもしれません。私が1つのアセンブリだけを別のアプリケーションと共有する場合は、他のすべてのリソースを出荷する必要があります。私は物事をより近づけることを好む傾向があります。そうすれば、将来的には管理が容易になります。 – Christo