会議の帰りにアナパタ談義

会議の帰りに、ふとファウラーの話になり、そして、アナパタの話になった。 同僚曰く、「ファウラーは、基本的に一番まともなことを言っているように思える。だから結構スキ。が、アナパタよくわからん。理解できん。難しすぎる」 とのこと。

確かにアナパタは難しい。自分もかなり難しく感じた。 苦労して何度も読んだ結果、ぼんやりと理解はできた。 が、今思うと、カナリ無駄な時間を費やしたような気がする。

話の中で、アナパタ難しい理由として以下の2つをあげた。

表記法としてオブジェクトモデルを利用しているが、実概念(意味)とモデル要素の関係のとり方が一般的なオブジェクト指向と異なるため、理解が難しい。 オブジェクトモデルはモデル要素の意味が曖昧であるため(特に関連)、読み取った結果、読み手がイメージする意味が、各人でブレ易い。

個人的には、アナパタという本は、とんだ食わせ物だと思っている。 アレは、オブジェクトモデルの乱用である。オブジェクトモデルの適用領域を超えてオブジェクトモデルの表記方法を利用しているため、普通の人間には理解しがたい。

アナパタが表現したいモデル構造を理解するためなら、Data Model Resouce Bookを見る方が良い。おそらく、こちらの方がわかりやすい。

これは何故だろうか?自分でもよくわからない。

リレーショナルモデルのリレーションシップの意味の明確さが理解をたすけるのだろうか? それとも、オブジェクトモデルにおけるインスタンスであるレコードなる概念が、非常にわかりやすいものであるため、理解がしやすいのだろうか。

ま、いずれにせよ、アナパタを理解したい人には、Data Model Resouce Bookをお勧めしたい。 リレーショナルモデルにおける正規化の延長上に多階のモデルがあるという、新しいものの見方を学べるというおまけもついてくる。

内容的にはすばらしい(といっても全部は読んでいないのだけど・・・)のだけど、腹立たしい点が一点ある。 CD-ROMが添付しており、データモデルのDDLがはいっているとうたっているにもかかわらず・・・・、別途$350払わないと読めない・・・。どーなの?これ?

[…]

WOMeetingプレゼン終了。

とりあえず終わった。

最近WebObjectsFrameworkに興味がわいてきているのだけど、 メインストリームなJ2EEであるとか、 RDB/OLTPであるとかを抑えたほうがよさそうな気がするので ちょっと放置する予定。

一区切り

読書会については、いいだしっぺ(気味)な立場における、 とりあえずの責任は果たしたかなと。 Practical WebObjectsに関して言えば、内容的に主要な章に関してはプレゼンを終えたので、これからは「仕切り」のみにさせてもらおうかなぁと思っている。

これまでプレゼンをやった章 Chap1. Making Your Code Better Chap2. EOModeling Technique Chap3. Managing The Object Graph Chap6. The Secret Life of Components Chap7. Components and Elements

ちなみに計283スライド。うむ、がんばった。 Practical WebObjectsの中で、残りの章も6つあるが、基本的なアーキテクチャという観点では抑えられたかなと思う。プレゼン資料は WOMeeting200502 あたりに。

[…]