6

C++ プロジェクトでは、コンパイルの依存関係により、ソフトウェア プロジェクトの保守が困難になる場合があります。モジュール内およびモジュール間の依存関係を制限するためのベスト プラクティスにはどのようなものがありますか?

4

4 に答える 4

12
于 2008-10-09T18:09:49.343 に答える
6

Herb Sutter は、彼の優れた著書Exceptional C++、ISBN: 0201615622の項目 26、27、および 28、「Minimizing Compile-time Dependencies, Part 1, 2 and 3」で、まさにこのトピックをうまく扱っています。

代替テキスト http://ak.buy.com/db_assets/prod_images/489/30611489.jpg

私見ですが、これは入手可能な最高の C++ プログラミング本の 1 つです。

于 2008-10-09T19:17:32.793 に答える
2

この点については十分に注意し、配慮する必要があると思います。一般に、コードを分離し、抽象的なインターフェイス (関数ポインターまたは同等のオブジェクトなど) を使用することで依存関係を制限できますが、分離すると一般に脆弱性が追加されます。たとえば、一般的な抽象インターフェイスを介してモジュールを呼び出して、実際のオブジェクトの実装への依存を減らすことができますが、オブジェクト自体と同期してインターフェイスを更新する必要があります。そうしないと、実行時にコードが失敗します。

大規模なプロジェクトは、明確に定義された階層を持つモジュールで構成することが重要ですが、各モジュール内では、依存関係を制限するためにコードを分割してやり過ぎないようにしてください。メンテナンスを改善する場合は、依存関係を減らすこととコードの脆弱性を減らすことのバランスを取る必要があります。

于 2008-10-09T18:17:26.753 に答える
2

以下もご覧ください。

大規模 C++ ソフトウェア設計 (Addison-Wesley Professional Computing シリーズ)

于 2008-10-11T00:48:17.950 に答える