Pattern Intent: Adapt an object to different client's needs through transparently attached role objects, each one representing a role the object has to play in that client's context. The object manages its role set dynamically. By representing roles as individual objects, different contexts are kept separate and system configuration is simplified.
Dirk Bäumer, Dirk Riehle, Wolf Siberski, and Martina Wulf. "Role Object." In Pattern Languages of Program Design 4. Edited by Neil Harrison, Brian Foote, and Hans Rohnert. Reading, Massachusetts: Addison-Wesley, 2000. Chapter 2, page 15-32.
The paper is available as a PDF file. Please note that the final published article is a copy-edited version of this pdf file and therefore may differ in minor details from the version provided here.
This book chapter supersedes an earlier conference paper.