UML の強力な包含関係を実装するにはどうすればよいですか。コンポジションともいう。
Scale で例を挙げます: クラス コンポーネントがあり、これには 0 個以上のインターフェイスが含まれる場合があります。
class Component (name: String, description: String, Interaction: Set[Interface])
そして、私はクラスのインターフェースを持っています:
class Interface(name: String, description: String)
封じ込めを尊重する必要がある制約は何ですか?
- コンポーネントにインターフェイスを入力すると、このインターフェイスを他のコンポーネント内に配置することはできません。
- コンポーネントを削除すると、そのインターフェイスもすべて削除する必要があります。
封じ込めを強制する他の制約はありますか?
最初の制約を実装するにはどうすればよいですか:
Component 型の signComp というクラス Interface にフィールドを追加し、Component の set メソッド Interaction に制約を加えようと考えました。
例: コンポーネントに追加する必要がある各インターフェイスについて、インターフェイスの signComp が null の場合、インターフェイスを挿入し、現在のコンポーネントで signComp を設定します。それ以外の場合は、割り当てをキャンセルします。
これは成功した実装ですか?または他の方法があります。