Delegation
From CSSEMediaWiki
Revision as of 02:29, 24 September 2009 by Stephen Fitchett (Talk | contribs)
Delegation is a design pattern which involves an object that delegates certain responsibilities to an associated object called a delegate.
As an example, the Cocoa framework contains a class called NSTableView, which is a user interface control which presents a scrollable list of selectable rows. It can use a delegate for numerous tasks such as to get the height of a row or to provide tool tips for cells.
When considering use of the delegation pattern, the intended use is important. If you just want to use it to notify an object about certain events rather than delegating responsibilities, consider the Observer design pattern instead.