再利用性と変更容易性
近年は、作ったモジュールそのものを再利用するよりも、考え方を再利用するほうが偉いとされているようだ。
前者は当にオブジェクト指向そのもので、後者はデザインパターンに代表される「パターン」一族だろう。
ITMedia 平鍋氏のブログでは、この点を指摘し、EoC(Ease Of Change)こそがよい設計だと説いている。
さらに、オブジェクト指向の肝である再利用性への訴えを「失敗」と斬り捨てている過激な主張が新鮮。
歴史がさまざまな挑戦と挫折の上に成り立つのは言うまでもないが、オブジェクト指向の再利用への挑戦はまさに今日挫折を迎え、新たなパラダイムを生み出したという歴史に変わりつつあるということなのだろう。
しかし再利用は全く不可能なのだろうか?
私は、C++のSTLに代表されるGeneric Programmingに可能性を見る。
STLでは、同じソース(ヘッダだけど)を使えるのでコードの再利用ともいえるし、アルゴリズムやコンテナの組み合わせを変えれば所望の処理にたどり着くことが出来るので、考え方の再利用とも言える(これはパターンだけど)。
STLが成功している理由は、パターンのレベルで部品化している点にあると思う。
iteratorだったりadaptorだったり。
大きな部品を再利用しようとしても、使い道によってカスタマイズしたくなるためうまくいかない。
しかし、これ以上細分化しようの無いレベル、少なくとも意味的に最小の単位にまで小さくしておけば再利用もうまく働くだろう。
私も、今後はパターンの発見とその部品化を意識してプログラミングに臨むことにしよう。。
| 固定リンク


コメント