Quelle est la différence entre agrégation, composition et dépendance? [dupliquer]

cette question a déjà une réponse ici:

  • Quelle est la différence entre association, agrégation et composition? 17 réponses

Quelle est la différence entre agrégation, composition et dépendance?

245
demandé sur Peter Mortensen 2009-10-29 17:50:09

7 réponses

agrégation implique une relation dans laquelle l'enfant peut exister indépendamment du parent. Exemple: classe (parent) et élève (enfant). Supprimer la classe et les élèves existent toujours.

Composition implique une relation où l'enfant ne peut exister indépendamment du parent. Exemple: Maison (parent) et Chambre (Enfant). Les chambres n'existent pas séparément d'une maison.

les deux ci-dessus sont des formulaires de confinement (d'où les relations parent-enfant).

Dependency est une forme plus faible de relation et en termes de code indique qu'une classe utilise un autre par paramètre ou type de retour.

la dépendance est une forme de association .

399
répondu cletus 2012-11-30 22:07:21

agrégation et composition sont presque identiques, sauf que composition est utilisé lorsque la vie de l'enfant est entièrement contrôlée par le parent.

agrégation

Car -> Tires

le Tires peut être enlevé de l'objet Car et installé sur un autre. Aussi, si la voiture est atteint, l' les pneus ne doivent pas nécessairement être détruit.

Composition

Body -> Blood Cell

quand l'objet Body est détruit le BloodCells obtenir détruit avec elle.

dépendance

relation entre deux objets dans laquelle le changement de l'un peut affecter l'autre.

127
répondu Robert Greiner 2016-04-26 12:59:28

Agrégation - partie séparable de l'ensemble. La partie a une identité propre, séparée de ce dont elle fait partie. Vous pouvez choisir cette partie et la déplacer vers un autre objet. (des exemples du monde réel: roue -> voiture, bloodcell -> corps)

Composition - partie non séparable du tout. Vous ne pouvez pas déplacer la pièce vers un autre objet. plus comme une propriété. (exemples du monde réel: courbe - > route, personnalité - > personne, max_speed - >voiture, propriété de l'objet - > objet )

noter qu'une relation qui est un agrégat dans un dessin peut être une composition dans un autre. C'est tout sur la façon dont la relation doit être utilisée dans ce design spécifique.

dépendance - sensible au changement. (quantité de pluie -> le temps, la position de tête -> la position du corps)

Note: "Bloodcell" -> Sang" pourrait être "Composition" que les Cellules Sanguines ne peut pas exister sans l'entité de Sang. "Sang" - > corps "pourrait être" agrégation " comme le sang peut exister sans l'entité appelée corps.

40
répondu MatsW 2014-02-11 05:56:11

un objet associé à une relation composition n'existera pas à l'extérieur de l'objet contenant. Exemples sont un Rendez-vous et le propriétaire (une Personne) ou un Calendrier, un Verdict et un Patient.

d'autre part, un objet qui est agrégé par un objet contenant can existe à l'extérieur de l'objet contenant. exemples sont une porte et une maison; un employé et un ministère.

Un dépendance se rapporte à collaboration ou délégation , où un objet de demandes de services à partir d'un autre objet et est donc dépendant de la chose. En tant que client du service, vous souhaitez que l'interface de service reste constante, même si des services futurs sont offerts.

6
répondu Mark 2009-11-04 16:14:23

L'agrégation et la composition sont des termes que la plupart des gens dans le monde de L'OO ont acquis via UML. Et UML fait un très mauvais travail pour définir ces termes, comme L'ont démontré, par exemple, Henderson-Sellers et Barbier ("What is This Thing Called Aggregation?", "La formalisation de l'Ensemble de la Partie de la Relation dans le Langage de Modélisation Unifié"). Je ne pense pas qu'une définition cohérente de l'agrégation et de la composition puisse être donnée si vous êtes intéressé par être conforme à UML. Je vous suggère de regarder les travaux cités.

en ce qui concerne la dépendance, c'est une relation très abstraite entre les types (et non les objets) qui peut signifier presque n'importe quoi.

5
répondu CesarGon 2009-11-17 03:20:43

un objet peut en contenir un autre comme partie de son attribut.

  1. contient des phrases qui contiennent des mots.
  2. système informatique a un disque dur, ram, processeur, etc.

il n'est donc pas nécessaire que le confinement soit physique. par exemple, le système informatique a une garantie.

1
répondu Manish Doshi 2013-05-09 10:41:46

confinement: - pour accéder à l'objet intérieur, nous devons utiliser l'objet extérieur. Nous pouvons réutiliser l'objet contenu. Agrégation: - ici nous pouvons accéder à l'objet intérieur encore et encore sans utiliser l'objet extérieur.

0
répondu Tryst 2013-01-06 06:34:05