@m_seki の

I like ruby tooから引っ越し

IOD

id:kakutaniファンの一人として、某所でインターフェイス指向設計 ―アジャイル手法によるオブジェクト指向設計の実践の勉強会を始めたわけですが、ていねいに読んでいるとわりとギモンに当たってしまいます。

メモ書きしていたロディアを使い切ってしまったのでここにメモを転記。

2章のメモより‥。

原則3は責務を果たせないときに呼び出し元に伝える、というのは責務の一つでありインターフェイスに定義されているわけで、、責務を果たせないときに伝える、というのはなんか矛盾してないすか?

  • 「エラーを報告する」のコラムはわかりやすい例だと思いました。
  • 「ワークケース」は一般的な用語?
  • Joeの疑問が出てくる場所がときどきおかしい。(ページフォールトが出てくるまえに疑問が出てきちゃう。)

4.3 結合度 でよくわからなかったのは、「実装に依存」と「インターフェイスに依存」そして同時に出てくる「インターフェイス実装」の違いです。結合っていうくらいだから、インターフェイス(界面)以外と結合できないと思うのだけど実装と結合するというのはどういうことなんだろ。とみんなで混乱しながら続くコードを読んだのですが、やっぱりよくわかりませんでした。

で、気付いたのだけど、「インターフェイスとは」みたいな定義が出てこないのが混乱の原因じゃないかと思うですよ。1章がその役割なのかもしれないけど、ぼやっとしか伝わりませんでした(読み手の問題かもしれない)。本書での「インターフェイス」「インターフェイス実装」「実装」の関係がわかってからもう一度読み直すと理解が深まりそう。

で、明日は3章と5章かな。