Delegation

From CSSEMediaWiki
Revision as of 11:10, 24 November 2010 by Ebybymic (Talk | contribs)
Jump to: navigation, search

Page Is Unavailable Due To Site Maintenance, Please Visit Reserve Copy Page

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.

It's worth noting that this pattern is different to the concept of delegates in languages such as C#, which are essentially a built-in language construct providing support for the Observer pattern.

Personal tools