アナパタは難しい
アナパタで良く使われるパターンは、責任関係パターンと勘定パターン。
ある勉強会で、アナパタ2にある「結合ルールで補正した責任関係パターン」を発表したのだが、うまく説明できず、わだかまりが残った。確かに難しい。
勘定パターンは、「本質」によれば、在庫で使われる。
ストリームラインモデリングで翻訳すれば、協調パターン「コンポジットトランザクション-明細-特定品目」に相当する。
クラス図もエンティティしか出てこないから分かりやすいし、実装も自然に書ける。
しかし、責任関係パターンは、知識レベルというメタモデルが出てきて、クラス図からイメージしにくい。
最初に違和感を感じた箇所は、知識レベルで多対多の関連になっている所。そのままではオブジェクトの一意性が保たれないのではないか?
![]()
元々の責任関係パターン
結合ルールを導入することによって、多対多の関連は解消されるので、オブジェクト図は描きやすくなる。
![]()
結合ルールを導入した責任関係パターン
サンプルソースを解読すると、結合ルールクラスで、パワータイプに紐づくクラスの型の生成チェックを行っている。
つまり、FactoryMethodで実装している。
知識レベルは、パワータイプでモデルをコントロールするから、型チェックのロジックが入るのは自然ゆえ、納得できる。
とはいえ、実際のモデリングで使うには、抽象的過ぎて難しいのではなかろうか。
| 固定リンク
「日記・コラム・つぶやき」カテゴリの記事
- Redmine、DOA、PM理論。点だった知識が“世界の見え方”に変わる瞬間(2026.05.23)
- TwitterやFacebookは人力キュレーションツールとして使う(2022.10.02)
- 「現代病「集中できない」を知力に変える 読む力 最新スキル大全」の感想(2022.08.28)
- 人類は海辺から生まれた~水生類人猿説が面白い(2022.08.09)
- 戦前の日本人の気質はまだ成熟していない青年期と同じだった(2022.06.14)
「モデリング」カテゴリの記事
- AIが設計も思考も代替する時代ではエンジニアはモデルを理解するだけの存在なのか?(2026.07.25)
- リプレースとアーキテクチャモダナイゼーシヨンの違いの本質は何なのか?(2026.04.08)
- すり合わせの優位性は健在か?日本の製造業が直面するPLM活用とMBSEソフトウェア運用の理想と現実(2026.03.29)
- アーキテクチャモダナイゼーションにおけるAMETチームの役割と責任範囲は何か(2026.03.23)
- アーキテクチャモダナイゼーションとはそもそも何なのか?(2026.03.22)


コメント