コンポジット WPF のモジュール化を維持しながら DLL の数を最小限に抑える

StackOverflow https://stackoverflow.com/questions/1869258

  •  18-09-2019
  •  | 
  •  

質問

私は複合 WPF アプリケーションに取り組んでおり、ちょうど読んだところです いくつかの良いガイドライン コードをアセンブリに分割する方法について。この記事の著者は、可能な限りアセンブリの数を最小限に抑えることを支持しています。

アセンブリの数を最小限に抑えながら、コンポジット WPF アプリケーションを適切にモジュール化するバランスをどのように取るのでしょうか?

現在のプロジェクトでは、機能の論理グループごとにモジュールを作成することから始めました。これにより、かなりの数 (14) の小さなアセンブリが作成されました。これをリファクタリングしてアセンブリを最小限に抑えようとすると、コンポジット WPF アーキテクチャを維持しながらアセンブリを 6 に減らすことができますが、柔軟性がいくらか失われているのではないかと思います...覚えておいたほうがいいかもしれない ヤグニ.

役に立ちましたか?

解決

YAGNI のほかに、次のことも覚えておいてください。 関心事の分離 そしてその 遅延読み込み パターンを作成し、それを有益に使用してください。アプリケーションのさまざまな側面に属する、潜在的に不要な機能をバンドルするアセンブリの数を減らしても意味がありません。また、一緒に属さない同じアセンブリ機能にバンドルするとバグを誘発する危険性があるため、低結合を維持するコードを保守する方がはるかに簡単であることにも留意してください。

アプリケーションの典型的な使用シナリオでいくつかのユーザビリティ テストを実行し、どのモジュールが一緒に頻繁に必要になるか、相互に依存するか、相互に継承して同じアセンブリにバンドルするかを確認することができます。独立した機能を持つモジュール - 選択すると、モジュールがロードされます。 または もう一方は、決して両方ではなく、特に別のアセンブリに保持する必要があります。

他のヒント

先に行くと、あなたはそれが簡単に理解し、維持するために維持する必要があるとして、できるだけ多くのアセンブリでコードを分割します。アプリケーションでパフォーマンスの問題を発見し、そしてこれらは、アセンブリの過剰な数に起因している場合その後、あなたはそれらのいくつかに参加する上で考え始めることができます。ちょうどあなたが関係なく、あなたが使用しているどのように多くのアセンブリのコードのトラックを失わないように、明確なオブジェクトモデルのデザインと名前空間の構造を持っていることを確認します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top