私はそのようなソリューションが適用されるプロジェクトを継承しました:サードパーティのライブラリの異なるバージョンのユーティリティの設計
サードパーティライブラリの5バージョンがあります。また、対応するバージョンのサードパーティライブラリのユーティリティを含む5つのプロジェクトがソリューションに含まれています。
ソリューションのかなり多くのユーティリティクラスは、サードパーティライブラリのすべてのバージョンで同じコードを持っています。複製の問題はこのように解決されます。すべてのプロジェクトで同じにする必要があるコードファイルは、共通フォルダに保存され、すべてのプロジェクトへのリンクとして追加されます。
リンクを使用してコードを共有するのが最良のアプローチだとは思わない。 悪いアプローチであるかどうか教えてください。それがそうであれば、そのようなコードの重複を解決する正しい方法は何か教えてください。
ありがとうございます。
私はラッパーを書くことを考えましたが、私のケースでは2つの理由で該当しません。1. APIがかなり大きく(数百クラス)、ラッパーが簡単ではありません。 2.ラッパー・クラスを書くことは、ラッパーに重複問題を移すことになります。 – ika
おそらくそれをテンプレートまたは2つで自動化し、インターフェイスを生成し、ライブラリバージョンに基づいて必要とされるラッパー実装を起動するだけです。しかし、はい、そうするにはまともな量の作業が必要です。 –