オープンインプリメンテーション

オープンインプリメンテーション（Open implementation）
 なんらかの形でオープンな（例えばオープンソースの）実装
 Open Implementation Projectを参照。
 パロアルト研究所 Software Design Area で提唱されたソフトウェア設計（デザイン）手法。本稿で記述する。

オープンインプリメンテーション（Open implementation）とは、パロアルト研究所 Software Design Area で提唱されたソフトウェア設計（デザイン）手法で、再利用可能かつたいへん効率よく幅広いクライアントに向けてモジュールを書くことを助ける、と主張されている。以下引用すると、

 オープンインプリメンテーション手法では、モジュールはクライアントに、モジュールの持つ実装戦略に沿って個別に制御を可能にする。これにより、クライアントはモジュールの実装戦略をその要求により良く合うようにカスタマイズ（tailor）することができ、効果的にモジュールをより再利用可能にすることができ、クライアントコードをより単純にできる。この制御はクライアントに、よく設計された（well-designed）補助的な（auxiliary）インタフェースを通して提供される。

BEYOND THE BLACK BOX: OPEN IMPLEMENTATIONによれば、既存のブラックボックス抽象（black-box abstraction）の機能のみを露出し実装は隠す、という方法には再利用時に深刻な性能上の困難があり、実装戦略（implementation strategy）をクライアントに制御可能にすることができれば、より再利用可能にできることを発見し、これをオープンインプリメンテーションと呼んだ。

 脚注 

 注釈 

 出典 

 外部リンク 



Category:ソフトウェア設計