3

私は、レガシー C++ コードベースから RogueWave コンポーネントを削除する任務を負っています。そのために、既存のコンポーネントの周りにラッパーを構築し、コードが同じように機能することを確認してから、boost などの別のライブラリを選択してラッパーに貼り付けようとしています。

私が直面している問題の 1 つは、コードベースの多くが RogueWave オブジェクトへのポインターを想定していることです。元の RogueWave オブジェクトを指すダミーのラッパー オブジェクト クラスを作成できますが、コードが元のオブジェクトへの変更可能なポインターを期待している場合に、イテレーター項目など、その RW オブジェクトの一部を正しくラップする方法がわかりません。

代替アプローチに関する提案やアドバイスはありますか? (注:私は私のC ++で少し錆びています)

4

2 に答える 2

1

私は約 10 年前に同様の仕事をしていましたが、Roguewave を使用したもののほとんどが C++ の標準の一部であることが判明しました。ほとんどの場合、Roguewave の使用法を置き換えることができる直接的な C++ 標準データ構造がありました。

直接の置き換えができず、さらに別のサードパーティ ライブラリまたは独自のライブラリを使用する可能性がある場合は、JustBoo が言及したパターンが理想的です。

于 2010-08-19T17:45:37.117 に答える
1

アダプターパターン

ブリッジパターン

それらがうまくいかない場合:

ファサードパターン

于 2010-08-19T16:00:19.503 に答える