Nemo Nemo - 4 years ago 100
C# Question

UML association that is not an aggregation or composition?

Can someone give a code example of an association UML relationship (one way arrow ->) that is neither an aggregation nor a composition?

I understand that aggregation and composition are types of associations, but I cannot think of an association relationship that is not an aggregation or a composition.

Can the following code be just an association relationship from A->B, but not aggregation or composition under certain conditions?

import B;
public class A {
private B b;
}

Answer Source

According to Robert Martin:

An Association represents the ability of one instance to send a message to another instance. This is typically implemented with a pointer or reference instance variable, although it might also be implemented as a method argument, or the creation of a local variable.

The code:

public class A {
  private B b;
}

can represent either association, aggregation or composition. It represents a mere association as long as A doesn't have a "HAS-A" relationship with B. For instance, the following could be an association, but not an aggregation or composition relationship.

public class Vehicle {
  private Person owner;
}
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download