モジュール強度
モジュール内部の関連性を強さで表し、暗合的強度から機能的強度までの7種類がある
モジュール強度が高いほど、他の影響を受けにくくなるので再利用や拡張がしやすくなり、モジュール強度が低いほど修正を行ったときに影響を受けやすくなる
暗合的強度(低)
関係のない機能をまとめたモジュール
論理的強度
関連する複数の機能をまとめたモジュール
時間的強度
プログラムの開始時など、ある特定の時期に実行する機能をまとめたモジュール
手順的強度
関連のある逐次的な機能をまとめたモジュール
連絡的強度
関連ある逐次的な機能で要素が連絡し合うものをまとめたモジュール
情報的強度
同じデータ構造や資源を扱う機能を一つにまとめたモジュール
機能的強度(高)
一つの機能を実現するだけのモジュール
オブジェクト指向
オーバーライド
上位クラスで定義されたメソッド(メンバー関数)を、下位クラス側の役割に応じて再定義し動作を変更すること
カプセル化
オブジェクト内の詳細な仕様や構造を外部から隠蔽すること
継承(インヘリタンス)
上位クラスで定義されたデータ構造と手続きを、その下位クラスが引き継いで使える特性
多相性
オブジェクトへの操作呼び出しが、呼び出し側でなく受け手側の特性で決まる特性
同じメッセージを送っても相手によって行われる操作が異なる様子を表している
委譲(デリゲーション)
あるオブジェクトに依頼されたメッセージの処理を他のオブジェクトに委ねること
伝搬(プロパゲーション)
あるオブジェクトに対して操作を適用したときに、関連するオブジェクトに対してもその操作が自動的に適用される仕組み
合成(コンポジション)
複数のオブジェクトを部分として用いて、新たな一つのオブジェクトを生成する仕組み