http://fr.wikipedia.org/wiki/Compo [...] mmation%29
http://fr.wikipedia.org/wiki/Agr%C [...] mmation%29
Ce qu'il faut retenir c'est que la composition est une agrégation forte.
Le carburateur disparait quand la voiture est broyée.
Le compte client est supprimé quand le client est radié.
Tout comme dans l'exemple wiki, tout dépend du contexte.
Le responsable de la casse auto récupère le carburateur quand la voiture est détruite.
Il n'y a pas de différence au niveau java, ce sont dans les deux cas des attributs de classes.
La différence est conceptuelle, et au niveau UML,
les concepteurs et architectes font des brainstorming pour savoir si on met des losanges blancs ou noirs.
C'est rarement impactant pour les développeurs, mais ca permet de s'assurer que tout le monde est d'accord sur le fonctionnel.
Edit : quand à la question de savoir si tout le monde comprend ces subtilités niveau conceptuel / UML ... mort de rire.
Message édité par willy le kid le 09-01-2014 à 11:26:21