インターフェースとオブジェクトの構造
インターフェイス指向設計 ―アジャイル手法によるオブジェクト指向設計の実践
- 作者: Ken Pugh,角谷信太郎(監訳),児島修
- 出版社/メーカー: オライリージャパン
- 発売日: 2008/05/24
- メディア: 大型本
- 購入: 16人 クリック: 357回
- この商品を含むブログ (67件) を見る
http://d.hatena.ne.jp/y_nakanishi/20080902/1220329445
せっかく眠れそうもないので↑の補足。
いわゆる「インターフェース」を正しく認識するためにはオブジェクトの構造を考える必要がある。
オブジェクトの構造はカプセル化が「何で」「何を」隠蔽するのか?ということを明らかにすることで把握できる。何かを隠蔽するということは外から何かを見えなくするということだからオブジェクトには表面という構造があって、例えればボールのような構造をしているのは簡単に想像できる。
ポールは外から見れば表面しか見えないし、隠されているボールの中身は外からは見えない。だからカプセル化が成り立つわけだ。このボールの表面こそがまさしく「インターフェース」。
つまりオブジェクトはインターフェースによってオブジェクトの内側と外側が区別される。言い換えればオブジェクトはインターフェースによって定義され、インターフェースの存在しないオブジェクトは存在し得ないことがわかる。
この「オブジェクトを定義する」というのがインターフェースの一番重要な役割。
インターフェースを正しく認識すると人の頭は↓の2つの事を自然に行うようになる。
- オブジェクトを認識すると同時にインターフェースを抽出する。
- インターフェースを境界として内側と外側でまったく別のことをするようになる。
これはいわゆる「オブジェクト指向ができる人」は無意識にやっていたりするのですが、あまり概念としては説明されていないわけです(そーいうことを上の本に期待してたのですが)。
さらにこの2つを細分化していけば個々のテクニックにつながっていくのですが、上の本はインターフェースとは何だ?という部分には踏み込まず、2つ目の内側と外側を細分化したテクニックばかりを紹介しているわけです。
そーいうのはちょっと違うんじゃないかなーというのが9/2のエントリ。