Lors de la création de références entre entités ECore, il est possible de marquer une référence comme "confinement". Quelqu'un peut-il m'expliquer en termes simples quelle est la différence entre une référence simple et un confinement? Les définitions et les explications que j'ai trouvées jusqu'ici n'ont pas fait l'affaire pour moi.Quelle est la différence de ECore entre le confinement et la référence?
Répondre
Référence: Une référence est une plaine "A sait B" relation. Les références séparées ne s'influencent pas mutuellement. Un peut savoir B et B peut savoir C. Donc, si vous avez A, vous pouvez aller à C sur B. Si vous supprimez la référence, A, B et C existeront toujours, ils ne se connaissent plus .
confinement: Une enceinte de confinement est la "A a B" type de relation. Habituellement utilisé pour les listes, par ex. "A a plusieurs B". ECore/EMF peut alors effectuer des commandes atomiques sur de telles collections, telles que déplacer tous les objets d'un confinement à un autre. Il peut également appliquer des contraintes, telles qu'une quantité minimale d'objets contenus ou une quantité maximale d'objets contenus, ou s'assurer que l'objet contenu n'est contenu dans aucun autre 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
.
Que vous dit ce modèle?
- Vous pouvez affecter un client au panier. Si vous supprimez le client du ShoppingCart, l'objet Customer lui-même existera toujours (par exemple dans la base de données)
- Les objets OrderedProduct nécessitent l'existence d'un objet ShoppingCart. Si vous en retirez un du ShoppingCart, il cessera d'exister.
- Chaque OrderedProduct contient 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 est allé
Référence: peut être comme association UML
confinement: est la relation de composition d'UML
aussi cela peut être vu dans le diagramme EMF, si vous réglez la containment
sur true, la ligne aura un côté rempli, indiquant le confinement/composition. C'est ce que j'ai observé.
- 1. Quelle est la différence entre "$^N" et "$ +"?
- 2. quelle est la différence entre:.! et: r !?
- 3. Quelle est la différence entre dict() et {}?
- 4. Quelle est la différence entre = et: =
- 5. Quelle est la différence entre ~ et! opérateur?
- 6. Quelle est la différence entre le tuyau et la douille?
- 7. Différence entre référence et & *?
- 8. Quelle est la différence entre le mode Retain Counting et le comptage de référence?
- 9. Quelle est la différence entre le document et le DOM?
- 10. Quelle est la différence entre la saturation et la luminosité?
- 11. Quelle est la différence entre le format OMF et COFF?
- 12. quelle est la différence entre passer par référence et appel par référence?
- 13. Quelle est la différence entre Cocoa Touch et Objective C
- 14. Quelle est la différence entre les paquets android.opengl et javax.microedition.khronos.opengles?
- 15. Quelle est la différence entre la programmation parallèle et multicœur?
- 16. Quelle est la différence entre la version et l'itération?
- 17. Quelle est la différence entre mysqlimport et mysql <dbfile.sql
- 18. Quelle est la différence entre la plate-forme et l'outil?
- 19. Quelle est la différence entre la sérialisation et l'encodage?
- 20. Quelle est la différence entre ces commentaires
- 21. Quelle est la différence entre ces extraits?
- 22. Quelle est la différence entre ces importations?
- 23. Quelle est la différence entre ces codes?
- 24. Quelle est la différence entre getRemoteHost() et getServerName() de ServletRequest?
- 25. Quelle est la différence entre applicationDidReceiveMemoryWarning, didReceiveMemoryWarning?
- 26. Quelle est la différence entre l'utilisation de ProtocolType.IP et ProtocolType.Tcp
- 27. Quelle est la différence entre IContainer et IUnityContainer de Prism?
- 28. Quelle est la différence entre l'utilisation de WorkflowInvoker et WorkflowApplication?
- 29. Quelle est la différence entre mouseout() et maskelve() de jQuery?
- 30. Quelle est la différence entre le mashup et le screencraping et la consommation de services web
Merci beaucoup. Je pense qu'un exemple réel comme votre ShoppingCart était tout ce qu'il fallait pour retourner l'interrupteur dans mon cerveau. – Kosi2801
Analogue à 'association' et 'composition' dans les diagrammes de classes UML. – mike