Who does cut the wood? (a meditation on Object Oriented Design)
stackoverflow.comThis is a good example if you also include a Saw class and an Axe class. Saw and Axe implement ICutter and IUsable. The Tree class implements ICuttable. Then Worker class calls ICutter.cut(ICuttable)