オブジェクト指向は,システムを部品化するのに適した手法である。だが「オブジェクト指向は部品同士を結合させる手段としては強力でない。部品を自由に結合したり離したりするのは,実はなかなか難しい」(東京工業大学大学院情報理工学研究科数理・計算科学専攻の千葉滋助教授)。
部品Aが部品Bを利用する場合を考えてみよう。部品Aのソースコードには通常,部品Bを利用するための記述が入り込む。これは「部品の間に釘がささった状態」(千葉氏)に例えることができる(図1[拡大表示])。部品Bだけをはずして別の場面で使うのは容易だが,部品Aには釘の頭の部分が残っている。これを無理に抜こうとすると,部品の一部が崩れてしまう。つまり「部品Aを単独で再利用しようとすれば,ソースコードを修正するしかない」(千葉氏)のである。この問題は,部品を再利用する際の足かせとなる。保守性の低下にもつながる。
- 特集「部品と部品の関係を切り離す」(1)
- 特集「部品と部品の関係を切り離す」(2)
- 特集「部品と部品の関係を切り離す」(3)
- 特集「部品と部品の関係を切り離す」(4)
- 特集「部品と部品の関係を切り離す」(5)