Using composition to achieve code reuse by collaborating objects.
Reuse by collaboration involves using objects together to achieve functionality, rather than inheriting it from a common ancestor. This typically involves composition over inheritance. For instance, a 'ShoppingCart' could use a 'Discount' object to calculate price reductions, allowing the cart to adapt dynamically to different discount strategies.