1、Delegate是一种点对点的消息传送机制。传递给自己或者其他对象。有时候他还会返回一个影响事件如何被处理的值。
举一个简单的Mac例子,NSWindow声明了有一个名叫windowShouldClose:的协议,当用户点窗口左上角的关闭按钮时,这个窗口对象就会发送一个windowShouldClose:消息给他的delegate,来询问这个窗口是否可以被关闭。这个delegate会返回一个boolean值,来控制窗口对象的这个(关闭)行为。
2、Notification是一种一对多的消息传递方式。他的实质是广播信息给所有observer。
消息发送者不需要知道谁是消息的接收者。
|