我们来讲讲面向对象的基本应用和好处

面向对象过程:面向结构的设计方法中最经典的一句话说:“自定向下,逐步细化".这足以说明面相对象的好处。
面向的对象的特征:
1:封装:次特征可影藏对象内部的实现细节,对外提供一致的访问的接口。
2:继承:当然我觉得这是比较的重要的一点,简单来说就是简单代码复用机制,使子类拥有父亲的特征.
3:多态:就是已一致的方式使用不同的实现,实现接口不变性。
属性:属性描述了对象的状态 。
方法 :是对象具有可实施的动作 。


原型
1:只有对象,没有类;对象继承对象,而不是类继承类。
2:“原型对象”是基于原型语言的核心概念。原型对象是新对象的模板,它将自身的属性共享给新对象。一个对象不但可以享有自己创建时和运行时定义的属性,而且可以享有原型对象的属性。
3:除了语言原生的顶级对象,每一个对象都有自己的原型对象,所有对象构成一个树状的层级系统。root节点的顶层对象是一个语言原生的对象,其他所有对象都直接或间接继承它的属性。
4:显然,基于原型的语言比基于类的语言简单得多,我们只需要知道"用对象去创建对象",就可以在原型的世界里大行其道了!
下面我们来看看使用代码来怎么样的实现继承的关系:
如果以oldobject为原型创建了newobject,那么可以说newobject继承oldObject。在基于原型的语言中, 通过创建以oldobject对象为模板的newobject对象,newobject对象便拥有了oldobject对象中的属性,因此可以说newobject对象继承了oldobject对象。
javascript本质上是基于原型的语言,但是却引入了基于类的语言的new关键字和constructor模式,导致javascript饱受争议。
JavaScript基于原型的面向对象
这里我们简单的说明了JavaScript中的对象的和原型问题,因为我懂得就这莫多。
适配器
适配器是什么?
就像一个转接口。例如通过它,可以将原本不符合我们需要的数据格式转换为我们想要的格式。
适配器模式:
var clientObject = {f:'f',s:'s',t:'t'};
原有函数需要参数 三个
function interfaceMethod(v1,v2,v3){alert(v1)};
简单适配器 将现有数据转换为原来所需要的格式。
function adapterMethod(o){
interfaceMethod(o.f, o.s, o.t);
}
adapterMethod(clientObject);
适配器优点:
1:适配器最大的优点是可以避免大规模的改写现有客户代码。
2:如果现有API还未定形,或新接口还未定形,此时并不适合使用适配器模式。
通过创建适配器,可以把抽象与其实现隔离开来,以便二者独立变化。
适配器缺点:
如果现有API还未定形,或者新接口还未定形,那么适配器可能不会一直管用。但是它的优点往往比缺点更突出。例如在涉及大型系统和遗留框架的情况下。
适配器和桥接模式:
适配器和桥接模式有类似地方,但是它们的出发点不同,桥接的目的是将接口部分和实现部分分离,从而对他们可以更为容易也相对独立的加以改变。而适配器则意味着改变一个已有对象的接口。


性能优化:
我们为什么要做性能优化南?
1:如果WEB页面响应时间过久的话,就会让用户心态发生变化。
用官方的话说就是超过0.1秒
页面给人不够平滑快捷的感觉
超过1秒
感到应用程序缓慢
10秒
用户心情将会沮丧
响应时间应该保持在0.1秒左右,为什么这么说。比如说:
用户点击按钮,按钮背景颜色改变,这一种反馈信息,响应的时间间隔要在0.1秒内。
响应时间应该不能超过1秒:比如说:
用户随意在计算机上操作,等待时间在1.2-1.0秒之内的延迟都意味着会被用户注意到,若我们的程序不能在0.1秒之内完成,则必须在1秒内完成。否则用户将会觉得应用卡,失去流畅的体验感。
就算要超过一秒的话也应该给用户适当的提醒:
若超过1秒时间,我们应当给用户提醒应用正在处理,比如:鼠标状态改变等等。
响应时间过久给用户带来的感受:
1:不论你的页面设计地多么有趣、漂亮、交互性好,不管是在桌面还是移动设备上。
2:如果页面需要花2到3秒时间去渲染展示,那么用户都会很快变得不耐烦的。
3:可以预期的是,在页面还在加载的时候,用户很有可能从浏览购买的行为转变为点击回退键或者是关闭浏览器的行为
2009年,经Forrester研究所的Akamai的一项研究发现表明,网页响应时间可容忍的阀值是2秒,一旦网页相应时间超过3秒,会有40%的用户放弃浏览页面。一年之后,Akamai的另一项研究表明,超过3秒放弃浏览页面的用户比例上升到了57%
一份旅行网站研究发现,57%的在线消费者最多会用3秒钟甚至更短的时间来等待网站响应;
如果网站响应太慢,五个消费者中有一个会打开该网站竞争者的网站。这样,如果根据Google的统计显示,一个移动网站的页面中值加载时间在5秒钟左右,平均时间超过10秒钟的话,我们面临的是一个严重的问题。

 

posted @ 2015-05-30 21:30  多多了梦  阅读(243)  评论(0编辑  收藏  举报