2009-04-26 9 views
0

Supposons que j'ai une relation composite , par exemple un client ayant une collection de commandes Donc, je suis pas (et en supposant une ordonnance ne peut pas exister sans « posséder » Client.) parler de agrégation.Terminologie - parties d'une relation composite

Quels termes sont utilisés pour décrire les rôles dans cette relation? Je pourrais dire que le client est le «propriétaire» d'une commande et peut-être que l'ordre est «possédé», mais il y a sûrement de meilleurs termes, des termes qui peuvent être énoncés sans se référer à l'autre rôle. J'essaie de déterminer ces termes afin que je puisse nommer les attributs dans un méta-modèle. Je peux «faire quelque chose», mais je voudrais utiliser des noms qui seront facilement compris.

Merci d'avance pour des suggestions et/ou des pointeurs vers des sources définitives.

Bill

Répondre

0

Ceci est également appelé la relation «a». L'objet Customer "a une" collection d'objets Order. Où comme dans l'héritage, vous diriez le Customer "est un" Person. Vous pouvez également dire que la collection de Order s est un champ ou un membre ou tout ce que vous appelez les variables membres de la langue. Vous appelez simplement le Customer un objet (ou un type composite). La plupart des classes sont des types composites de toute façon, à moins qu'il n'y ait aucun état (c'est-à-dire juste des méthodes/comportements).

+0

Cela ne répond pas à la question cependant. Je sais * quelle * est la composition. J'essaie de déterminer la terminologie correcte en faisant référence aux objets qui participent à la relation. Vous faites un bon travail pour expliquer * quelle * est la composition; Cependant, je le sais déjà! Merci pour le poste en tout cas. –

+0

Je pensais que mon article traitait principalement de ce que l'on appelle les choses, mais ce que je voulais dire, c'est qu'il y a beaucoup de termes «non officiels» pour nommer des parties de la composition. Un type qui est composé d'autres objets est un * objet *, les objets qui composent cette composition sont * membres * ou * champs *, je dirais que c'est ce que votre langage appelle ou avec lequel vous êtes à l'aise. Ce n'est pas une coïncidence si les mêmes termes sont utilisés par les langues OOP. OO est tout au sujet de la composition si vous faites bien. –

+0

Je pensais que mon article traitait principalement de ce que l'on appelle les choses, mais ce que je voulais dire, c'est qu'il y a beaucoup de termes «non officiels» pour nommer des parties de la composition. Un type qui est composé d'autres objets est un * objet *, les objets qui composent cette composition sont * membres * ou * champs *, je dirais que c'est ce que votre langage appelle ou avec lequel vous êtes à l'aise. Ce n'est pas une coïncidence que ce soit les mêmes termes que les langues OOP utilisent. OO est tout au sujet de la composition si vous faites bien –

1

Vous voulez que la relation «A un»; notre chose "a" une autre chose attachée, par opposition à l'héritage de "est une" relation. Vous pouvez construire des modèles assez robustes autour de ces deux relations. Mais. Pour postuler plus loin, dans Topic Maps (puisque nous parlons de méta-modèles), nous avons quelques relations intégrées qui ont aussi des identifiants globaux (que vous pouvez utiliser pour l'échange de connaissances/données globales), qui sont les supertype-subtype (dénote hiearchies) et l'instance de type (dénote typification, un fortement typé "est un") relations. Ceux-ci sont assez globaux (c'est-à-dire aussi en dehors du monde de Topic Maps). Jetez un oeil à la fin de la Topic Maps Data Model pour plus d'informations à ce sujet.

+0

S'il vous plaît voir mon commenter la réponse de Mark ci-dessus. Idem ici. Merci pour la réponse. –

+0

Désolé, mais vous avez tort; Ce n'est pas ce dont il s'agit. Peut-être que vous êtes confus parce que "a un" et "est un" ressemble tellement à une véritable phrase?Malheureusement, c'est ainsi qu'on les appelle, même si cela peut être trop réel pour vous. :) Pardon. – AlexanderJohannesen

Questions connexes