Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

『実践ソフトウェアエンジニアリング』メモ

Ch11. コンポーネント設計

コンポーネント:ソフトウェアを構成するモジュール性の高い部品

オブジェクト指向における基本的な設計の原則

OCP: Open-Closed Principle

モジュールは拡張に対して開いて(open)いなければならず、変更に対して閉じて(close)いなければならない

例えば「決済手段」などのあとから新規追加されうるものによる処理の条件分岐をif-elseで実装すると、新たな選択肢の追加でif文を変える必要があるが、各決済手段を共通するインターフェースのclassにしていれば、新しいclassの追加だけで済む

リスコフの置換原則(LSP)

派生クラスは基底クラスと置換可能でなければならない

依存性逆転の原則(DIP)

抽象に依存し、具象に依存させない。

コンポーネントが別のコンポーネントの具象に依存すると、拡張は難しくなる。

インターフェース分離の原則

それぞれのクライアントごとに専用のインターフェースを提供するほうが、単一の汎用的なインターフェースを提供するよりよい