0

現在、UMLクラス図には次のような構造があります。

Node --1------------*-- Data
 ^                        ^
 |                        |
SpecialNode--1----*--SpecialData

たとえば、SpecialNodeはクラスNodeの特殊化であり、SpecialDataはクラスDataの特殊化です。

考え方は、各SpecialNodeにはSpecialDataのみがあり、「通常の」データはないということです。ただし、SpecialNodeはノードであるため、DataとSpecialDataの両方との関係を持つことができると主張する人もいます。

SpecialNodeがSpecialDataのみを持つことができるかどうかを明確にする利用可能な参考資料はありますか?そうでない場合、どうすればこれを(クリーンな方法で)強制できますか。

よろしく、Joos

4

1 に答える 1

0

実際、このようなモデリングは、を含むSpecialNodeのすべてのプロパティを継承することを意味します。そうでなければ、それは良い設計のための重要な規則であるリスコフの置換原則と矛盾するでしょう。私はあなたのとを「持っている」と定義するのではなく、むしろへのインターフェースを持つことをお勧めします。それはオブジェクトに関連付けられ、それはオブジェクトに関連付けられるからです。NodeDataNodeSpecialNodeDataSpecialData DataNodeDataSpecialNodeSpecialData

于 2012-12-03T16:00:43.333 に答える