たとえば、次のことを考えてみましょう。クラス「Text Group」があります。これは、クラス「Text Object」の一般化です。テキストグループには、1つ以上のテキストオブジェクトまたは1つ以上のテキストグループを含めることができます。これをUMLでどのように表現しますか?すべての関連リンク?UMLで自分自身やその親のインスタンスを含むことができる一般化をどのように表現していますか?
ありがとうございます!
たとえば、次のことを考えてみましょう。クラス「Text Group」があります。これは、クラス「Text Object」の一般化です。テキストグループには、1つ以上のテキストオブジェクトまたは1つ以上のテキストグループを含めることができます。これをUMLでどのように表現しますか?すべての関連リンク?UMLで自分自身やその親のインスタンスを含むことができる一般化をどのように表現していますか?
ありがとうございます!
Composite Patternと思ってください。
hth。
私はそれが他のどのクラスと同じように合成すると思います。
一般化は、親クラスと子クラスの間の継承ツリーの関係を示します。封じ込めを表示する場合は、構図または凝集関係を使用します。上記のように、コンポジットデザインパターンは、あなたの問題に最適です。 compostionはインターフェイスで使用します。これは、コンポジション階層のノードとリーフの両方のクラスを使用して実装します。
クラスは単一の関係に限定されず、自己参照することができます。一般化と構成の両方の関係を描くことができます。それはどちらかの円形または無限再帰参照が必要になりますので、
しかし、私は自己参照クラスの「1つ以上」に多数のご仕様に質問です。 「ゼロ以上」がおそらくより適切でしょう。私はまた、グループの一種である単一のオブジェクトのセマンティクスに疑問を呈し、おそらく反直感的に聞こえるでしょう。
はい、それはまさにそれです。ありがとう! – dacman