「抽象化」について

9/28のエントリで抽象化について書いたところ、
すごい議論が巻き起こってびっくりしたやら、勉強になったやらのキャップですこんにちは。
  辛抱強く付き合ってくださったid:itengineerさん、bushoumonoさんには感謝です。

ちょっとそこで勉強になったことを自分なりにまとめてみる。


まずは、反省すべきこと。
「抽象化」という言葉は抽象的な言葉である、ということ。
そして、抽象的な言葉を用いるときには注意が必要、ということ。


抽象的な言葉は、時と場合によって異なる意味を持っているので、
その「時と場合」が異なる次元で話をしていると、
当然のことながらコミュニケーション不全となる。


だから、
・自分がどんな「時と場合」について話しているかを明らかにすること。
・相手がどんな「時と場合」について話しているのかを察知すること。
が大切になってくる。


さらに重要なことがある。


複数の「時と場合」における意味をごっちゃにしてしまっていると、
コミュニケーション不全とかいう問題以前のところで間違ってしまう、ということ。


だから、自分の意見がこのケースに当てはまっちゃっていないかどうかを
自己吟味するのはとても重要。気をつけましょう、と。




「抽象化」に話を戻す。
「抽象化とはなにか」というところで今回は非常にいい勉強をさせていただいた。


まず「時と場合」での混乱を避けるために、
ここからはソフトウェア開発手法、
それもオブジェクト指向における「抽象化」という「技法」
について扱うことを明言させていただく。


そして、この中でもさらに、行っている作業によって
「抽象化」の意味が微妙に異なる、らしい。


それは、
分析における抽象化
設計における抽象化
実装における抽象化
の3つと考えることができる。


ちょっとこの辺でタイムアップなので、続きます。
今日の昼ごろに続きを書けるといいな・・・