« ついに出版! | トップページ | 概念を抽出するには
クラスとインスタンスの区別から始まる »

2004/09/12

アナパタは難しい

 アナパタで良く使われるパターンは、責任関係パターンと勘定パターン。
 ある勉強会で、アナパタ2にある「結合ルールで補正した責任関係パターン」を発表したのだが、うまく説明できず、わだかまりが残った。確かに難しい。

 勘定パターンは、「本質」によれば、在庫で使われる。
 ストリームラインモデリングで翻訳すれば、協調パターン「コンポジットトランザクション-明細-特定品目」に相当する。
 クラス図もエンティティしか出てこないから分かりやすいし、実装も自然に書ける。

 しかし、責任関係パターンは、知識レベルというメタモデルが出てきて、クラス図からイメージしにくい。
 最初に違和感を感じた箇所は、知識レベルで多対多の関連になっている所。そのままではオブジェクトの一意性が保たれないのではないか?
 
元々の責任関係パターン

 結合ルールを導入することによって、多対多の関連は解消されるので、オブジェクト図は描きやすくなる。
 
結合ルールを導入した責任関係パターン

 サンプルソースを解読すると、結合ルールクラスで、パワータイプに紐づくクラスの型の生成チェックを行っている。
 つまり、FactoryMethodで実装している。
 知識レベルは、パワータイプでモデルをコントロールするから、型チェックのロジックが入るのは自然ゆえ、納得できる。
 とはいえ、実際のモデリングで使うには、抽象的過ぎて難しいのではなかろうか。

|

« ついに出版! | トップページ | 概念を抽出するには
クラスとインスタンスの区別から始まる »

日記・コラム・つぶやき」カテゴリの記事

モデリング」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: アナパタは難しい:

» 理解できませんでした「アナリシスパターン」 [ぷ~ろぐ]
こちらの方が勉強されている「アナリシスパターン」だが私も会社勤めしている頃に読も [続きを読む]

受信: 2004/09/13 17:49

« ついに出版! | トップページ | 概念を抽出するには
クラスとインスタンスの区別から始まる »