Respuesta

42

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
+0

Muchas gracias. Creo que un ejemplo real como tu ShoppingCart fue todo lo que necesité para cambiar el interruptor de mi cerebro. – Kosi2801

+0

Análoga a 'asociación' y 'composición' en diagramas de clase UML. – mike

5

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.

Cuestiones relacionadas