Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Cocoa has an interesting construct — delegates — which lets a class take over the task of handling certain events for you. Much like you might delegate authority to another person in the workplace, you can delegate the authority of a class to handle things when a particular event(s) occurs.
For example, you can tell a class to be a delegate for window events like miniaturizing (also known as minimizing). Therefore, every time a window miniaturizes, your delegate class would do something in response.