関連クラス


関連の制御

単純な呼び出し関係にある分類子間はこれまでの記法で十分ですが
関連において、複雑な制御が必要な場合はそれを記述する必要があります
このような場合は、関連をクラスとして表すことができます

例えば、内部に不得定のコンポーネントを抱合するコンテナは
これとは別に、コンポーネントを管理する専用のクラスを持つべきであると考えられます
Java Swing におけるコンテンツペインや Microsoft .NET のコレクションクラスなどは
この概念を元に、管理するコンポーネントを専用の関連クラスに分離させています

関連クラスは、2つの分類子の関連経路の途中から破線で分岐させて付加させます
破線上には装飾は存在せず、クラスは通常のクラスと同じ記法です



ご主人様と猫耳メイド娘の関連クラスとして「調教」クラスを設けました
こうすると、ご主人様の属性や操作、猫耳メイド娘の属性や操作とは独立して
これらの分類子の関連に特化した属性や操作を個別に定義することができます
調教クラスを抽象化すれば、この関連がプラグイン可能になります

図下部は、コンテナとコンポーネントの関連をコンテンツペインが補っています
コンテナが保有する子コンポーネントは、コンテナ自身が管理するのではなく
抽象化したコンテンツペインが管理することによって、柔軟な設計を実現しています

もちろん、定義した関連クラスは特定の関連だけに存在するのではなく
その他の関連と共有した関連クラスになることも可能です



前のページへ戻る次のページへ