Kompozycja buduje zachowanie poprzez posiadanie innych obiektów (relacja "has-a") i delegowanie do nich. Dziedziczenie uzyskuje zachowanie poprzez rozszerzenie klasy ("is-a"). Rada "faworyzuj kompozycję" istnieje, ponieważ dziedziczenie tworzy ciasne, kruche sprzężenie z klasą bazową, podczas gdy kompozycja pozostaje elastyczna.
Problem z dziedziczeniem do ponownego użytku
<T> <T> {
{ add(x); }
T { remove(size() - ); }
}
