ログイン
検索
メインメニュー
フォーラム一覧   -   トピック一覧
   astah*の使い方
     クラス図:関連クラス名と関連名を別々に設定する方法
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 トピック
naka_aki
投稿日時: 2008-5-2 8:35
常連
登録日: 2006-7-4
居住地:
投稿: 42
Re: クラス図:関連クラス名と関連名を別々に設定する方法
自称関連クラスオタクのnaka_akiです。

なにをもって「自然なモデル」と呼ぶのか、ってのもあります。

関連クラス名を動詞にするのも乙なもんですよ。
個人的にはそういうフレームワークに接する機会が多いもので。結構いいかんじです。

(ERD屋さん風にいえば「イベント系エンティティ」っていう奴でしょうか?)

なお、その場合、動詞の時制とかを細かくいじるといいです。たとえばコピー元 → コピー先という関連を表現するなら、単に「Copy」じゃなく、「Copied」「Copyable」とか。「既にコピーしちゃった」なら前者を使いますし「既にしたとは限らないが今後可能である」なら後者です。そうすることで、その関連クラスのインスタンスの意味が、よりピンポイントで絞れて、いい感じです。素の「xxxする」という動詞をそのまま関連名(関連クラス名)にするのは時々不安です。

(関連クラスに関する話題は、使いにくい→事例や議論が育たない→誰も使い方を開発しない→使いにくい…という負のスパイラルになってる気がする。)

例えば「注文する」は細かく見れば「注文済み」または「注文可能」のどちらかだけが必要だったりしませんか?あるいはその両方がそれぞれ別々に必要だったりしませんか?

この辺をびしっと分けとくと、たとえばCopyの責務がCopiedとCopyableに株分けされるので、関連クラスのインスタンスを、

●いつnew/deleteすべきかが、より明瞭になる。
●(責務が少ないから)いちど作ったインスタンスを後からupdate/deleteする必要性が減る。そのぶん色々な場面での分離度が上げれて、設計面のみならず実装面でも便利。

といったゴリヤクがある…んじゃないかなーと思ってます。
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   クラス図:関連クラス名と関連名を別々に設定する方法 koba 2008-4-30 11:13
     Re: クラス図:関連クラス名と関連名を別々に設定する方法 joba 2008-4-30 15:11
       Re: クラス図:関連クラス名と関連名を別々に設定する方法 okamura 2008-4-30 16:38
         Re: クラス図:関連クラス名と関連名を別々に設定する方法 koba 2008-5-1 16:47
       » Re: クラス図:関連クラス名と関連名を別々に設定する方法 naka_aki 2008-5-2 8:35

投稿するにはまず登録を