摘要: 1. 优化图像 图像对于吸引访客的关注是很重要的。但是你添加到页面上的每一张图片都需要用户从你的服务器下载到他们的电脑上。这无疑增加了页面的加载时间,因此很可能让用户离开你的网站。所以,优化图像是非常必要的。 过大的图像需要的下载时间更多,因此要确保图像尽可能的小。可以使用图像处理工具如PS来减小颜 阅读全文
posted @ 2017-05-04 20:38 king^queen 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 一、设计模式之装饰者模式 二、设计模式之建造者模式 三、设计模式之工厂模式 四、设计模式之构造函数模式 五、设计模式之单例模式 六、设计模式之原型模式 七、设计模式之外观模式 八、设计模式之组合模式 九、设计模式之享元模式 一、设计模式之装饰者模式 装饰者提供比继承更有弹性的替代方案。 装饰者用用于 阅读全文
posted @ 2017-05-04 13:23 king^queen 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 设计模式之单例模式 从本章开始,我们会逐步介绍在 JavaScript 里使用的各种设计模式实现,在这里我不会过多地介绍模式本身的理论,而只会关注实现。OK,正式开始。 在传统开发工程师眼里,单例就是保证一个类只有一个实例,实现的方法一般是先判断实例存在与否,如果存在直接返回,如果不存在就创建了再返 阅读全文
posted @ 2017-05-04 12:45 king^queen 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 设计模式之构造函数模式 构造函数大家都很熟悉了,不过如果你是新手,还是有必要来了解一下什么叫构造函数的。构造函数用于创建特定类型的对象——不仅声明了使用的对象,构造函数还可以接受参数以便第一次创建对象的时候设置对象的成员值。你可以自定义自己的构造函数,然后在里面声明自定义类型对象的属性或方法。 基本 阅读全文
posted @ 2017-05-04 12:39 king^queen 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 设计模式之外观模式 外观模式(Facade)为子系统中的一组接口提供了一个一致的界面,此模块定义了一个高层接口,这个接口值得这一子系统更加容易使用。 正文 外观模式不仅简化类中的接口,而且对接口与调用者也进行了解耦。外观模式经常被认为开发者必备,它可以将一些复杂操作封装起来,并创建一个简单的接口用于 阅读全文
posted @ 2017-05-04 12:38 king^queen 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 设计模式之原型模式 Nov 23, 2015 原型模式(prototype)是指用原型实例指向创建对象的种类,并且通过拷贝这些原型创建新的对象。 正文 对于原型模式,我们可以利用 JavaScript 特有的原型继承特性去创建对象的方式,也就是创建的一个对象作为另外一个对象的 prototype 属 阅读全文
posted @ 2017-05-04 12:38 king^queen 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 设计模式之组合模式 Oct 19, 2015 组合模式(Composite)将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。 常见的场景有 asp.net 里的控件机制(即 control 里可以包含子 control,可以递归操作、添加、删 阅读全文
posted @ 2017-05-04 12:37 king^queen 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 设计模式之中介者模式 Aug 23, 2015 中介者模式(Mediator),用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 正文 软件开发中,中介者是一个行为设计模式,通过提供一个统一的接口让系统的不同部分进行通信。 阅读全文
posted @ 2017-05-04 12:36 king^queen 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 设计模式之享元模式 Sep 12, 2015 享元模式(Flyweight),运行共享技术有效地支持大量细粒度的对象,避免大量拥有相同内容的小类的开销(如耗费内存),使大家共享一个类(元类)。享元模式可以避免大量非常相似类的开销,在程序设计中,有时需要生产大量细粒度的类实例来表示数据,如果能发现这些 阅读全文
posted @ 2017-05-04 12:36 king^queen 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 设计模式之模板方法 Aug 16, 2015 模板方法(TemplateMethod)定义了一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模板方法是一种代码复用的基本技术,在类库中尤为重要,因为他们提取了类库中的公共行为。模 阅读全文
posted @ 2017-05-04 12:35 king^queen 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 设计模式之代理模式 Aug 12, 2015 代理,顾名思义就是帮助别人做事,GoF 对代理模式的定义如下: 代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。 代理模式使得代理对象控制具体对象的引用。代理几乎可以是任何对象:文件,资源,内存中的对象,或者是一些难以复制的东西。 阅读全文
posted @ 2017-05-04 12:34 king^queen 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 设计模式之策略模式 Jul 23, 2015 策略模式定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化不会影响到使用算法的客户。 正文 在理解策略模式之前,我们先来一个例子,一般情况下,如果我们要做数据合法性验证,很多时候都是按照 swith 语句来判断,但是这就带来几个问题 阅读全文
posted @ 2017-05-04 12:33 king^queen 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 设计模式之状态模式 May 22, 2015 状态模式(State)允许一个对象在其内部状态改变的时候改变它的行为,对象看起来似乎修改了它的类。 正文 举个例子,就比如我们平时在下载东西,通常就会有好几个状态,比如准备状态(ReadyState)、下载状态(DownloadingState)、暂停状 阅读全文
posted @ 2017-05-04 12:32 king^queen 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 设计模式之职责链模式 职责链模式(Chain of responsibility)是使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。也就是说,请求以后,从第一个对象开始,链中收到请求的对象要么亲自处理它, 阅读全文
posted @ 2017-05-04 12:32 king^queen 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 设计模式之迭代器模式 Apr 25, 2015 迭代器模式(Iterator):提供一种方法顺序一个聚合对象中各个元素,而又不暴露该对象内部表示。 迭代器的几个特点是: 访问一个聚合对象的内容而无需暴露它的内部表示。 为遍历不同的集合结构提供一个统一的接口,从而支持同样的算法在不同的集合结构上进行操 阅读全文
posted @ 2017-05-04 12:31 king^queen 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 设计模式之命令模式 Feb 24, 2015 命令模式(Command)的定义是:用于将一个请求封装成一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及执行可撤销的操作。也就是说改模式旨在将函数的调用、请求和操作封装成一个单一的对象,然后对这个对象进行一系列的处理。此 阅读全文
posted @ 2017-05-04 12:27 king^queen 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 设计模式之观察者模式 Feb 23, 2015 观察者模式又叫发布订阅模式(Publish/Subscribe),它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生变化时就会通知所有的观察者对象,使得它们能够自动更新自己。 使用观察者模式的好处: 支持简单的广播 阅读全文
posted @ 2017-05-04 12:20 king^queen 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 设计模式之适配器模式 Dec 7, 2014 适配器模式(Adapter)是将一个类(对象)的接口(方法或属性)转化成客户希望的另外一个接口(方法或属性),适配器模式使得原本由于接口不兼容而不能一起工作的那些类(对象)可以一些工作。速成包装器(wrapper)。 正文 我们来举一个例子,鸭子(Doc 阅读全文
posted @ 2017-05-04 12:00 king^queen 阅读(94) 评论(0) 推荐(0) 编辑