Order
+ total()
TaxService
Driver
Car
Team
Player
House
Room
The strength spectrum
1// ⇢ depend — uses a parameter, stores nothing2class Order { total(TaxService t){ ... } }34// → assoc — holds a long-lived reference5class Driver { Car car; }67// ◇ aggregate — has-a, shared, part outlives whole8class Team { List<Player> roster; }910// ◆ compose — owns, parts die with the whole11class House { House(){ rooms = new Room[n]; } }
State
⇢ dependuses transiently (a param)