今、「C++のためのAPIデザイン」を読んでます。 ラッピングで使用するデザインパターンについてまとめてみました。 C++のためのAPIデザイン ラッピングについて・・・ APIを設計する上で、クラスの集合の上に被せるようなラッパーインターフェイスを 記述することはよくあります。 例えば・・・ 大量のレガシーコードをベースに使う場合に、ベースのアーキテクチャを変更するのではなく、レガシーコードを隠蔽するようなクリーンなAPIを新たに設計する場合 C++でAPIを既に記述してあり、プレーンなCのAPIを開示する必要が出た場合 ラッパーのデメリットは、関節性のレイヤーが増えることで余分な状態を 保存することになりパフォーマンスに影響が出ることがあります。 とはいえ、先ほど述べた例に対して高品質で焦点を絞ったAPI設計が出来れば コストは十分に元は取れると思います。 ラッピングに使用するデザイン
![ラッピングパターン(プロキシ、アダプター、ファサード) - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/cbc1f0f7d57c0fbd7dc87d81bc07542c36a83eff/height=288;version=1;width=512/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fqiita-fb-2887e7b4aad86fd8c25cea84846f2236.png)