ストラタジーナム メニュー

2006年7月4日火曜日

UML中級講座 第62回 WriteLinkAction

7月になり、いよいよ蒸し暑くなって来ました。
筆者は、学生時代から山登りが好きで、昔はひと夏を山で過ごした事もありましたが、最近はなかなかそう言う訳にもいかなくなって来ました。
そして、あまり行けなくなったかわりに、部屋の壁には、山の絵や写真を飾って多少とも気持ちを慰めています。

山好きにも様々なタイプがいるようですが、筆者は以前は比較的オーソドックスに、沢登と共に、標高の高さは別としてピークを次々と踏破して行くのが好みのスタイルでした。
しかしながら、二十代最後の年に、カナディアンロッキーに登り、見渡す限り無限に続く大海原のように波打っている雪と氷で覆われた巨大な山塊に囲まれて以降、ピーク・ハンターはやめてしまいました。
その当時(多分今でも)カナディアンロッキーには、未踏峰が山ほどあり、道がないためにピークどころか麓にもたどりつけない山々が延々と連なっていました。
こういった山々の風景の写真を見ると、心に多少涼風を感じることができます。

5−6−3 WriteLinkAction

図 11−10



WriteLinkActionは、リンクを生成したり消滅させたりする抽象メタクラスです。生成はCreateLinkAction、消滅はDestroyLinkActionによって規定されます。

5−6−3−1 CreateLinkAction

CreateLinkActionは、リンクを生成します。直接LinkEndDataを用いず、それを特化したLinkEndCreationDataを用いるのは、順序づけされた関連をサポートするためです。LinkEndCreationDataは、重複するリンクが存在する場合に何番目にリンクを挿入するかを指定する値(insertAt)を持っています。

5−6−3−2 DestroyLinkAction

DestroyLinkActionは、リンクを消滅させます。直接LinkEndDataを用いず、それを特化したLinkEndDestructionDataを用いるのは、順序づけされた関連をサポートするためです。
LinkEndDestructionDataは、重複するリンクが存在する場合に何番目のリンクを消滅させるかを指定する値(insertAt)を持っています。

5−6−4 ClearAssociationAction

ClearAssociationActionは、リンクアクションではありませんが、関連が深いのでここで解説致します。
入力ピンで指定されたオブジェクトの、指定された関連に属するすべてのリンクを消滅させるアクションです。