Definition
Delegation pattern is where an object, instead of performing one of its tasks, delegates the task to an associated helper object. The helper object is known as a delegate and is given the responsibility to execute a task for the delegator. This pattern is one of the fundamental abstraction patterns that underlie other software patterns such as composition, mixins and aspects.