UMLモデリングのエッセンス 第3版 読んだ
マーチン・ファウラーの本ですね。
UML モデリングのエッセンス 第3版 (Object Oriented SELECTION)
- 作者: マーチン・ファウラー,羽生田栄一
- 出版社/メーカー: 翔泳社
- 発売日: 2005/06/16
- メディア: 単行本
- 購入: 8人 クリック: 254回
- この商品を含むブログ (92件) を見る
読もうと思った理由だけど、エレメンタルデザインパターンの頭にUMLを読めたほうがいいって書いてあったのと、これまでのエンジニア生活の中でガッツリUML書く機会もなかったし、ぶっちゃけクラス図以外は自信がなかったというのがある*1。
印象に残ったのは「双方向関連」と「汎化」の話で正直これはモデリングから脱線している部分に興味を持ってしまったのだけど、双方向関連はJavaで実装してみたいなって思った*2。汎化の説明のときに、リスコフの置換原則を元にスーパータイプと置換可能であるならば、継承を伴わない実装でもサブタイプとできるというのが凄く感動した部分で新しい知見だった。つまり、構造的部分型とか、ダックタイピング的な実装でも良いってこと。この話の中にJavaの古いバージョンのVectorの話が出てきて、確かに実装が最悪な何かを別の新しい何かに置換したいっていうときに、構造的部分型が使えるなら継承を行わなくていいし便利だよなーとか思った。サブクラス化とサブタイプ化というのを分けて考えることができるのはステキだと思う*3。
とりあえず、この本自体は買って損はしないと思う。SIerとかでUMLを書く機会がどのくらいあるかはわからないけど*4、自分自身がアプリケーション開発をしていく中でコードで表現する前に頭の中のものを取り出してなんとなく形にできるのは利点だと思う。そして、書籍自体は「スケッチ」としてUMLを書くために紹介している感じがあるので実践的に使いやすい。あと新人研修とかでちょこっと習っただけで、UMLの良さを理解出来てない人には特にオススメします。はい。僕もこの本にあと3年早く出会いたかった。