.what is difference between NSNotification and protocol? 通知和协议的不同之处?
2016-05-19 16:40
309 查看
答案:协议有控制链(has-a)的关系,通知没有。
首先我一开始也不太明白,什么叫控制链(专业术语了~)。但是简单分析下通知和代理的行为模式,我们大致可以有自己的理解
简单来说,通知的话,它可以一对多,一条消息可以发送给多个消息接受者。
代理按我们的理解,到不是直接说不能一对多,比如我们知道的明星经济代理人,很多时候一个经济人负责好几个明星的事务。
只是对于不同明星间,代理的事物对象都是不一样的,一一对应,不可能说明天要处理A明星要一个发布会,代理人发出处理发布会的消息后,别称B的
发布会了。但是通知就不一样,他只关心发出通知,而不关心多少接收到感兴趣要处理。
因此控制链(has-a从英语单词大致可以看出,单一拥有和可控制的对应关系。
首先我一开始也不太明白,什么叫控制链(专业术语了~)。但是简单分析下通知和代理的行为模式,我们大致可以有自己的理解
简单来说,通知的话,它可以一对多,一条消息可以发送给多个消息接受者。
代理按我们的理解,到不是直接说不能一对多,比如我们知道的明星经济代理人,很多时候一个经济人负责好几个明星的事务。
只是对于不同明星间,代理的事物对象都是不一样的,一一对应,不可能说明天要处理A明星要一个发布会,代理人发出处理发布会的消息后,别称B的
发布会了。但是通知就不一样,他只关心发出通知,而不关心多少接收到感兴趣要处理。
因此控制链(has-a从英语单词大致可以看出,单一拥有和可控制的对应关系。
相关文章推荐
- <button> 和 input button的对比(实实在在的被坑了一把!)
- htmlunit使用
- HTML特殊字符的html、js、css写法汇总
- nvm 管理你的nodejs版本
- 获取项目路径 js
- 常用js方法
- SharePreference的简单用法
- Javascript 严格模式“use strict” 详解
- JavaScript 正则表达式——基本语法(2)
- Node.mongoose
- CSS3制作漂亮的照片墙
- js选择器封装
- 用jQuery获取table中行id和td值的实现代码
- jQuery scrollFix滚动定位插件
- js 打开url
- Qt “undefined reference to `vtable for”
- js原型
- SpringMVC和jQuery的Ajax简单文件上传下载示例
- jquery遍历table的tr获取td的值实现方法
- css选择器中:first-child与:first-of-type的区别