The
delegation is a commonly used pattern in object-oriented programming.
It is a situation where an object, instead of performing a tasks
itself, delegates that task to
another, helper object. The helper
object is called the delegate.
Or
A delegate is a pointer to an
object with a set of methods the delegate-holder knows how to call.
In other words, it's a mechanism to enable specific callbacks from a
later-created object.