今、「C++のためのAPIデザイン」を読んでます。 ラッピングで使用するデザインパターンについてまとめてみました。 C++のためのAPIデザイン ラッピングについて・・・ APIを設計する上で、クラスの集合の上に被せるようなラッパーインターフェイスを 記述することはよくあります。 例えば・・・ 大量のレガシーコードをベースに使う場合に、ベースのアーキテクチャを変更するのではなく、レガシーコードを隠蔽するようなクリーンなAPIを新たに設計する場合 C++でAPIを既に記述してあり、プレーンなCのAPIを開示する必要が出た場合 ラッパーのデメリットは、関節性のレイヤーが増えることで余分な状態を 保存することになりパフォーマンスに影響が出ることがあります。 とはいえ、先ほど述べた例に対して高品質で焦点を絞ったAPI設計が出来れば コストは十分に元は取れると思います。 ラッピングに使用するデザイン