自分がオブジェクト指向が好きな訳

をふと思いついたのでメモ。

「システム」には大きく分けて二つの概念ある。

  • ある枠組みを決めて、その枠組みと手順にそって仕事を進める
  • 振る舞いに役割を持たせて、協調させることによって仕事を進める

一つ目の概念は手続き指向でありウォーターフォールに似ている気がする。
二つ目の概念はオブジェクト指向であり、アジャイルに似ている気がする。

枠組みと手順がうまくいくのであれば最初の概念を適用することの方が効率がいいが、現実は枠組みも手順も変化する。二つ目の概念では「協調」によって仕事を進めるので、入れ替えやすい。だから変化に対応できる。

単純な問題であれば変化は予見できたし、とても合理性がある。だから一つ目の概念でうまくいった。現代は単純な問題だけではない。単純な問題が複雑に組み合わさっていることが増えてきた。だからあっちの問題を解決できたけど、こっちの問題は解決していないと変化を要求されることが増えてきたのではないだろうか。

僕自身は枠組みと手順で仕事をさせられるのはいやだ。枠組みと手順が用意された環境では自分のアイディアを反映される事はほとんどない。だから嫌い。

なんてことをぼーっと思った。明日の資料は未完成。