Question

Lors de la création de références entre les entités Ecore il y a la possibilité de marquer une référence comme « confinement ». Quelqu'un peut-il me expliquer avec des mots faciles Quelle est la différence entre une référence simple et une enceinte de confinement? Les définitions et les explications que j'ai trouvé à ce jour n'a pas fait l'affaire pour moi.

Était-ce utile?

La solution

Référence: Une référence est une plaine "A connaît B" relation. références séparées n'influencent pas. A peut savoir B et B peut savoir C. Par conséquent, si vous avez un, vous pouvez aller à C sur B. Si vous supprimez la référence, A, B et C existeront encore, ils ne connaissent pas plus .

Confinement: Un confinement est le "A a B" genre de relation. Habituellement utilisé pour les listes, par exemple "A a multiple B". ECORE / EMF peut alors exécuter des commandes sur ces collections atomiques, telles que déplacer tous les objets d'une enceinte à l'autre. Il peut également appliquer des contraintes, comme une quantité minimale d'objets contenus ou un montant maximum d'objets contenus, ou faire en sorte que l'objet contenu ne se trouve pas dans une autre enceinte de confinement.

Exemple:

Supposons que vous avez un objet appelé ShoppingCart avec une référence appelée Customer et un confinement appelé OrderedProducts. Le OrderedProducts a une référence à un Product.

Qu'est-ce que ce modèle vous dire?

  • Vous pouvez attribuer un client au ShoppingCart. Si vous supprimez le Client du ShoppingCart, l'objet client lui-même existe encore (par exemple dans la base de données)
  • Les objets OrderedProduct ont besoin d'un ShoppingCart d'exister. Si vous supprimez un de l'ShoppingCart, il cessera d'exister.
  • Chaque OrderedProduct a une référence à un produit existant dans la base de données. Si vous supprimez un des OrderedProducts du ShoppingCart, le produit dans la base de données sera toujours là - juste l'ordre de ce produit pour ce client spécifique a disparu

Autres conseils

Référence : peut être comme association UML

confinement : est le rapport de composition de UML

En outre, cela peut être vu dans le diagramme de champs électromagnétiques, si vous définissez le containment sur true, la ligne aura un côté rempli, indiquant le confinement / composition. Voilà ce que je l'ai observé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top