Al crear referencias entre entidades ECore existe la posibilidad de marcar una referencia como "contención". ¿Alguien puede explicarme en palabras sencillas cuál es la diferencia entre una referencia simple y una contención? Las definiciones y explicaciones que encontré hasta ahora no funcionaron para mí.¿Cuál es la diferencia en ECore entre la contención y la referencia?
Respuesta
Referencia: Una referencia es una llanura "A sabe B" relación. Las referencias separadas no se influencian entre sí. A puede saber que B y B pueden saber C. Por lo tanto, si tienes A, puedes ir a C sobre B. Si eliminas la referencia, A, B y C seguirán existiendo, ya no se conocen más .
Contención: Una de contención es la "A tiene B" tipo de relación. Usualmente se usa para listas, p. "A tiene B múltiple". ECore/EMF puede realizar comandos atómicos en tales colecciones, como mover todos los objetos de una contención a otra. También puede imponer restricciones, como una cantidad mínima de objetos contenidos o una cantidad máxima de objetos contenidos, o garantizar que el objeto contenido no esté contenido en ninguna otra contención.
Ejemplo:
Suponga que tiene un objeto llamado ShoppingCart
con una referencia llamado Customer
y una contención llamado OrderedProducts
. El OrderedProducts
tiene una referencia a Product
.
¿Qué le dice este modelo?
- Puede asignar un cliente a ShoppingCart. Si elimina al Cliente de ShoppingCart, el objeto del Cliente seguirá existiendo (por ejemplo, en la base de datos)
- Los objetos OrderedProduct necesitan una ShoppingCart para existir. Si elimina uno de ShoppingCart, dejará de existir.
- Cada producto ordenado tiene una referencia a un producto existente en la base de datos. Si se quita uno de los OrderedProducts de la ShoppingCart, el producto en la base de datos todavía estará allí - simplemente el orden de ese producto para ese cliente específico se ha ido
Referencia: puede ser como asociación en UML
contención: es la relación composición a partir de UML
también esto se puede ver en el diagrama de EMF, si se establece la containment
a verdadero, entonces la línea tendrá un lado lleno, mostrando la contención/composición. Esto es lo que he observado.
- 1. ¿Cuál es la diferencia entre una referencia __weak y __block?
- 2. ¿Cuál es la diferencia entre + = y = +?
- 3. ¿cuál es la diferencia entre:.! y: r !?
- 4. ¿Cuál es la diferencia entre ".equals" y "=="?
- 5. Cuál es la diferencia entre $ y jQuery
- 6. Cuál es la diferencia entre = y: =
- 7. Cuál es la diferencia entre $ (...) y `...`
- 8. ¿Cuál es la diferencia entre dict() y {}?
- 9. ¿Cuál es la diferencia entre [indefinido] y [,]?
- 10. ¿Cuál es la diferencia entre @ y $ y% en MSBuild?
- 11. ¿Cuál es la diferencia entre {0} y ""?
- 12. ¿Cuál es la diferencia entre .ToString (+) y ""
- 13. ¿Cuál es la diferencia entre `##` y `hashCode`?
- 14. ¿Cuál es la diferencia entre "$^N" y "$ +"?
- 15. ¿Cuál es la diferencia entre " " y ""?
- 16. ¿Cuál es la diferencia entre la abstracción y la encapsulación?
- 17. Cuál es la diferencia entre la función() {}() y la función() {}()
- 18. ¿Cuál es la diferencia entre referencias y objetos en Java?
- 19. ¿Cuál es la diferencia entre la clave externa y la clave de referencia?
- 20. ¿Cuál es la diferencia entre Width y ActualWidth en WPF?
- 21. ¿Cuál es la diferencia entre interfaz y @interface en java?
- 22. ¿Cuál es la diferencia entre strtok_r y strtok_s en C?
- 23. ¿Cuál es la diferencia entre el casting y la conversión?
- 24. ¿Cuál es la diferencia entre uno mismo y la ventana?
- 25. ¿Cuál es la diferencia entre la relación Composición y Asociación?
- 26. ¿Cuál es la diferencia entre el colado y la coerción?
- 27. ¿cuál es la diferencia entre el complemento y la biblioteca?
- 28. ¿Cuál es la diferencia entre CookieContainer y la colección Response.Cookies?
- 29. ¿Cuál es la diferencia entre la sección .got y .got.plt?
- 30. ¿cuál es la diferencia entre el material y la textura?
Muchas gracias. Creo que un ejemplo real como tu ShoppingCart fue todo lo que necesité para cambiar el interruptor de mi cerebro. – Kosi2801
Análoga a 'asociación' y 'composición' en diagramas de clase UML. – mike