KVO 观察者必须知道发送者
观察者知道发送者的生命周期 发送者销毁之前,需要取消观察者的注册
Notification 不相关的代码中进行消息传递
发送者和接受者互相不知道
delegate 定制某个对象的行为 发送者知道是哪个接受者(delegate)
block 可以实现delegate的所有 但是会引起循环引用
发送者能保证释放掉对block的引用
add-target 响应界面的消息
附好文:
https://www.objc.io/issues/7-foundation/communication-patterns/
http://beyondvincent.com/2013/12/14/2013-12-10-124-communication-patterns/