- 92 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 14:57:10.51 ID:xoF7Cm8V.net]
- オブジェクト指向もモジュール化の1つの(かなり優秀な)手法だと思うよ。オブジェクトの内部はブラックボックス化され、外部からはオブジェクトのインターフェイスだけを相手にすればよいので、同時に考えなければいけないことが減り、プログラムの見通しが良くなる。
問題は、モジュールとしてのオブジェクトを機能させるためには、「これをオブジェクトとして扱う」というモジュール境界の決定が必要になるところ、オブジェクトの粒度が大きくなると、コードを書いた人の恣意的な決定の要素が増えるために、コードを読む人の理解・把握が難しくなっていくことかな。文字列オブジェクの方がcsv_readerオブジェクトよりできることを把握・イメージするのは簡単だし、より抽象度の高いオブジェクトになると、さらに理解は難しくなる。 オブジェクト指向によって得られる見通しの良さは、ゴチャっとしたコードをブラックボックスの中に閉じ込めることによって得られるものなので、オブジェクトの中に取り込まれないコード(オブジェクト同士の相互関係)の複雑性はそのまま残る。これがオブジェクトの海と呼ばれる問題。 オブジェクト指向は重要な進歩だし、今さらそのメリットを捨てることは難しいと思うけど、オブジェクトの「外」の問題については別の手法による対処が必要になる。
|

|