




図は,ある図形描画ツールのクラス図の一部である。新たな形状や線種で図形を描画する機能の追加を容易にするために,リファクタリング“継承の分割”を行った。変更後のクラス図はどれか。
ウ. (クラス図。図形クラスと線種クラスが関連で結ばれ,図形を親として三角形・四角形が継承,線種を親として太線・細線が継承する。)
リファクタリング“継承の分割”とは、一つの継承階層に異なる種類の性質が混ざっているとき、それぞれを独立した階層に分けて拡張しやすくする手法です。元の図は“形状(三角形・四角形)”と“線種(太線・細線)”という別の観点を一本の継承ツリーに詰め込んでいるため、形状や線種を追加するたびに組合せのクラスが増えてしまいます。これを“図形(形状)”の階層と“線種”の階層に分け、両者を関連で結んだウが正解で、形状を1種類、線種を1種類追加してもクラスは1つ増えるだけで済み拡張が容易になります。
ap-2021r03a-a の過去問一覧へ戻る・問48