>うわ、絶版でしたか。知りませんでした。
>
># amazonで中古品が買えるようではありますが。
>
http://www.amazon.co.jp/exec/obidos/tg/detail/offer-listing/-/4274075400/all/ref=sdp_srli_u/249-6600035-2383509
ご紹介ありがとうございます。ページ拝見しました。
私が間違っているのかもしれませんが、恐らく同一な書名なのですが、
バートランド・マイヤーさんのではありません。
上記の本は、日本人が書いた本だと思います。
中古品とかで色々探してみます...。
>インタフェースの多重継承はよく使いますよね。
Javaのイメージで話してたので勘違いしていました。
私が言いたかったのは実装継承による多重継承のことでした。
確かにインターフェースの多重継承は必要ですね。
>継承関係は、スーパークラスの分類とも言えますから、複数の軸について
>分類したければ多重継承になる…という考え方もありますが、
>それをやるとクラスの数が掛け算で増えていくので実用的ではないと私は思います。
なるほど...。難しいですね。
>「オブジェクト指向入門」では、階層構造を持てるWINDOWが、
>SCREEN_OBJECTとTREEを多重継承するという例が出ています(このTREEは、
>TREE_NODEと呼ぶべきだと思う)。
>一瞬納得しそうになりますが、TREE_NODEが、その要素への参照を持てば
>済む話ですよね。EiffelにはGenericsがあるわけですし。
委譲が面倒でなければ前橋さんのやり方の方が柔軟性ありそうですね。
私は1つのクラスに複数の役割を持たせるのはあまり好きではありません。
ただし本に載っているサンプルは実装を簡単にするため
(あるいは、インターフェースの多重継承の説明のため)
なのかもしれないですね。
>テストファーストって、設計の前にテストケースを書くということではなく、
>実装の前にテストケースを書くのでは。メソッドの引数など細かいところは
>テストケースを書きながら詰めていく面もあるでしょうけど、
>クラス間の関係のような重要な点は、テストケースを書く前に決まっていると思います。
確かに実装の前にテストケースを書くのだと思うのですが、
テストケースを色々書いていく内に必要なクラスと不要なクラスが
浮かび上がってきてクラスの関係が導きだせるという感じだったと思います。
テストケースを書く前に決まっているとすると、結局は初めにUMLありき
なので、テストケース自体単なる動作チェックもしくは、
後でリファクタリングをするのだけが目的ということになり、
あまりおいしくはなさそうです。
># テストファースト、良いと思うんですが、現場ではなかなか。
># 私の場合、「使用例」として、Wordでせこせこサンプルコードを書いて、
># レビューを通してから若いのに実装してもらうことが多いような。
私は仕事では数値計算関係のプログラムを作成することが多く、
テストケースを作成しにくいです(つまりテストケース自体のテストをしないと
いけないので)。
ただ無理にでも使っていかないと、結局使う機会がなく勉強にならないので
なかなか難しいです。
前橋さんは若い人に実装してもらえるのはいいですね。
私の場合、小さいチームなのでそこまではいきません。
以前別の部署の後輩にやってもらったら余計仕事が遅くなりました。
やはり上司はブルックスの法則を理解していないのだと思いました。
最近「人月の神話」を購入して、XPの考え方の基になったという印象が
あります。XPの歴史とか知らないので何とも言えないですが。
前橋さんは、他の人に仕事を手伝ってもらったら余計遅くなったこと
ありませんか?