category 能够在不获悉,不改变原来代码的状况下往里面添加新的方法,只能添加,不能删除修改。而且若是类别和原来类中的方法产生名称冲突,则类别将覆盖原来的方法,由于类别具备更高的优先级。java
类别主要有3个做用:设计模式
(1)将类的实现分散到多个不一样文件或多个不一样框架中。服务器
(2)建立对私有方法的前向引用。app
(3)向对象添加非正式协议。
继承能够增长,修改或者删除方法,而且能够增长属性。框架
答案:kvc:键 - 值编码是一种间接访问对象的属性使用字符串来标识属性,而不是经过调用存取方法,直接或经过实例变量访问的机制。分布式
不少状况下能够简化程序代码。apple文档其实给了一个很好的例子。编码
kvo:键值观察机制,他提供了观察某一属性变化的方法,极大的简化了代码。设计
具体用看到嗯哼用到过的一个地方是对于按钮点击变化状态的的监控代理
答案:代理的目的是改变或传递控制链。容许一个类在某些特定时刻通知到其余类,而不须要获取到那些类的
指针。能够减小框架复杂度。指针
另一点,代理能够理解为java中的回调监听机制的一种相似。
答案:协议有控制链(has-a)的关系,通知没有。
首先我一开始也不太明白,什么叫控制链(专业术语了~)。可是简单分析下通知和代理的行为模式,咱们大体能够有本身的理解
简单来讲,通知的话,它能够一对多,一条消息能够发送给多个消息接受者。
代理按咱们的理解,到不是直接说不能一对多,好比咱们知道的明星经济代理人,不少时候一个经济人负责好几个明星的事务。
只是对于不一样明星间,代理的事物对象都是不同的,一一对应,不可能说明天要处理A明星要一个发布会,代理人发出处理发布会的消息后,别称B的
发布会了。可是通知就不同,他只关心发出通知,而不关心多少接收到感兴趣要处理。
所以控制链(has-a从英语单词大体能够看出,单一拥有和可控制的对应关系。
答案:MVC设计模式考虑三种对象:模型对象、视图对象、和控制器对象。模型对象表明 特别的知识和专业技能,它们负责保有应用程序的数据和定义操做数据的逻辑。视图对象知道如何显示应用程序的模型数据,并且可能容许用户对其进行编辑。控制 器对象是应用程序的视图对象和模型对象之间的协调者。
区别:
1指针意味着已经有一个指针变量存在,他的值是一个地址,指针变量自己也存放在一个长度为四个字节的地址当中,而地址概念自己并不表明有任何变量存在.
2 指针的值,若是没有限制,一般是能够变化的,也能够指向另一个地址.
地址表示内存空间的一个位置点,他是用来赋给指针的,地址自己是没有大小概念,指针指向变量的大小,取决于地址后面存放的变量类型.
HTTP是一个属于应用层的面向对象的协议,因为其简捷、快速的方式,适用于分布式超媒体信息系统。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工做正在进行之中。
http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的链接方式,HTTP1.1版本中给出一种持续链接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。
HTTP协议的主要特色可归纳以下:
1.支持客户/服务器模式。 2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法经常使用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不一样。因为HTTP协议简单,使得HTTP服务器的程序规模小,于是通讯速度很快。 3.灵活:HTTP容许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 4.无链接:无链接的含义是限制每次链接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开链接。采用这种方式能够节省传输时间。 5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺乏状态意味着若是后续处理须要前面的信息,则它必须重传,这样可能致使每次链接传送的数据量增大。另外一方面,在服务器不须要先前信息时它的应答就较快。