Quelle est la différence entre l'agrégation, de la composition et de la dépendance?
Réponses
Trop de publicités?L'agrégation implique une relation où l'enfant peut exister indépendamment d'un parent. Exemple: la Classe (parent) et les Étudiants (de l'enfant). Supprimer la Classe et les Élèves continuent d'exister.
Composition implique une relation où l'enfant ne peut pas exister indépendamment de la société mère. Exemple: Maison (parent) et de l'espace (de l'enfant). Les chambres n'existe pas séparée d'une Maison.
Les deux sont des formes de confinement (d'où les relations parent-enfant).
La dépendance est une forme plus faible de la relation et en termes de code indique qu'une classe utilise une autre par le paramètre ou le type de retour.
La dépendance est une forme d' association.
l'agrégation et la composition sont quasiment identiques, sauf en ce que la composition est utilisée lorsque la vie de l'enfant est complètement contrôlée par la société mère.
L'agrégation
Voitures>Pneus
Les pneus peuvent être pris hors de la voiture de l'objet et installé sur un autre. Aussi, si la voiture est atteint, les pneus n'ont pas nécessairement à être détruit.
Composition
Corps->Cellules Sanguines
Lorsque le Corps de l'objet est détruit, les BloodCells se détruit avec elle.
La dépendance
Une relation entre deux objets où l'on peut avoir sur les autres.
Agrégation - partie séparable de l'ensemble. La pièce a une identité qui lui est propre, distinct de ce qu'elle est partie. Vous pouvez choisir la partie, et le déplacer vers un autre objet. (des exemples du monde réel: roue -> voiture, bloodcell -> corps)
Composition - non-séparables partie de l'ensemble. Vous ne pouvez pas déplacer la partie d'un autre objet. plus comme une propriété. (des exemples du monde réel: courbe -> route, de la personnalité -> personne, max_speed -> de voiture, la propriété de l'objet> objet )
Notez qu'une relation qui est un agrégat dans un design peut être une composition à l'autre. Son tout sur la façon dont la relation est pour être utilisé dans une conception spécifique.
la dépendance sensible aux changements. (quantité de pluie> météo, headposition -> bodyposition)
Remarque: "Bloodcell" -> Sang" pourrait être "Composition" que les Cellules Sanguines ne peut pas exister sans l'entité appelée le Sang. "De sang" -> Corps" pourrait être "l'Agrégation" que le Sang ne peut exister sans l'entité appelée Corps.
Un objet en lien avec une composition relation ne va pas à l'extérieur de l'objet contenant. Des 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ées par un objet contenant peut exister en dehors de cet objet contenant. Les exemples sont d'une Porte et d'une Maison; un Employé et d'un Département.
Une dépendance se rapporte à la collaboration ou de la délégation, où un objet de demandes de services à partir d'un autre objet et est donc dépendant de la chose. Comme le client du service, vous souhaitez que le service d'interface à rester constante, même si les services sont offerts.
L'agrégation et la composition sont des termes que la plupart des gens dans le monde orienté objet, ont acquis par l'intermédiaire d'UML. Et UML fait un très mauvais travail à la définition de ces termes, comme cela a été démontré, par exemple, Henderson-Sellers et Barbier ("qu'est-Ce que Cette Chose qu'on Appelle l'Agrégation?", "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 la composition peut être donné si vous êtes intéressé à être compatibles UML. Je vous suggère de regarder à la cité des œuvres.
Concernant la dépendance, c'est un très abstraite de la relation entre les types (les objets) qui peut dire n'importe quoi.