On “emballe” un objet dans un autre ayant la même interface mais ayant un comportement différent. L’objet emballé garde son implémentation concrète et possiblement difficile, et l’objet emballant modifie son comportement.

On retrouve comme exemple les vues sur les listes, où on ne modifie pas de valeur, mais juste la manière dont on les accède.

08.5 Le patron Composite