ソフトウェアアーキテクチャ博物館AtMuseum 解法パターン解説


資産化の原則

説明

ソフトウェアを資産として活用する方法です。

共通部分を利用する「部品化再利用」と変動点をマネジメントする「プロダクトライン開発」があります。

部品化再利用

大きな粒度のコンポーネントやレイヤーの提供インタフェースを決めます。

利用側は提供インタフェースを呼び出すだけでブラックボックス的にサービスを利用できます。

レイヤーの提供インタフェースを決めることは「プラットフォーム化」と呼びます。

ドライバ層やミドル層の提供インタフェースを決めて、その上にアプリケーションを載せるなどです。

提供インタフェースは単方向依存にします。双方向依存の個所はコールバック関数などで単方向化します。

プロダクトライン開発

変動点を列挙して、それにコンポーネントをマッピングします。

変動点はフィーチャモデルとして図解することもできます。

実装時には条件コンパイルなどで切り替える仕組みを入れます。