C# code for association, aggregation, composition

For two objects Foo and Bar we have:

Dependency:

class Foo
{
    ...
    fooMethod(Bar bar){}
    ...
}

Association:

class Foo
{
    private Bar bar;
    ...
}

Composition: (When Foo dies so does Bar)

class Foo
{
    ...
    private Bar bar = new Bar();
    ...
}

Aggregation: (When Foo dies, Bar may live on)

class Foo 
{
    private List<Bar> bars;
}

Leave a Comment