問48
図は、ある図形描画ツールのクラス図の一部である。新たな形状や線種で図形を描画する機能の追加を容易にするために、リファクタリング“継承の分割”を行った。変更後のクラス図はどれか。
〔クラス図〕
正解
ウ
解説
継承の分割 (継承の切り離し) は、同時に2つの仕事をしている継承階層があるときに、その階層を2つに分け、一方からもう一方に委譲を使って呼び出すことである。
なお、委譲 (デリゲーション) は、あるオブジェクトに依頼されたメッセージの処理を、他のオブジェクトに委ねることである。
ア 例えば五角形を追加するとき、太線の五角形、細線の五角形を追加することになる。
イ 例えば五角形を追加するとき、線種の数だけ追加しなければならない。
ウ 正しい。図形と線種の階層に分け、図形から線種のクラスに関連させている。図形の追加や線種の追加に容易に対応できる。
エ 太線としてインターフェイスの抽出を行っている。