随笔分类 -  JavaScript设计模式

14、模块方法模式
摘要:模块方式模式:父类中定义一组操作算法骨架,而将一些实现步骤延迟子类中,使得子类可以不改变父类的算法结构的同时可以重新定义算法中某些实现步骤。 创建一个提示框基类,其它提示框只需要在继承基础上,拓展自己所需即可 模板原型方法 根据模板创建类 阅读全文

posted @ 2016-10-08 23:31 Mc525

13、代理模式
摘要:代理模式:由于一个对象不能直接引用另一个对象,所以需要通过代理对象在这两个对象之间起到中介的作用。 由于用户相册模块上传的图片照片量越来越大,导致服务器端需要将图片上传模块重新部署到另外一个域(另外一台服务器),这样对前端来说,用户上传图片的请求路径发生变化,指向其他服务器,这就导致跨域问题。 打开 阅读全文

posted @ 2016-09-27 23:47 Mc525

12、适配器模式
摘要:适配器模式:将一个类(对象)的接口(方法或者属性)转化成另外一个接口,以满足用户需求,使类(对象)之间接口的不兼容问题通过适配器得以解决。 我们可以这样做 适配下 我们想给转化成为对象的形式 var arr = {}; 阅读全文

posted @ 2016-09-27 17:29 Mc525

11、外观模式
摘要:外观模式:为一组复杂的子系统接口提供一个更高级的统一接口,通过这个接口使得系统接口的访问更容易。在javascript中有时也会用于对底层结构兼容性做统一封装来简化用户使用。 为document绑定了onclick事件,但是你知道onclick是dom0事件,也就是说这种方式绑定的事件相当于为元素绑 阅读全文

posted @ 2016-09-27 12:39 Mc525

10、单例模式
摘要:单例模式 :又称为单体模式,是只允许实例化一次对象类。有时候也用一个对象规划一个命名空间,在对象上添加属性与方法。 这样写,会有问题的。会给页面添加了很多变量,比如你绑定的事件方法on,日后其他人也添加需求,增加代码定义一个on变量或者重写了on方法,就会跟其他人写的代码冲突。所有最好的办法用单利修 阅读全文

posted @ 2016-09-27 00:23 Mc525

9、原型模式
摘要:原型模式:用原型实例指向创建对象的类,使用于创建新的对象的类共享原型的属性及方法 要实现这些焦点图最好的方式就是通过创建对象来一一实现,所以我们需要一个焦点图类 如果一个页面有多个这类焦点图,其切换动画一般是多样化的,有的可能是上下切换,有的可能是左右切花,渐隐切换,缩放切换。。。,因此创建的轮播图 阅读全文

posted @ 2016-09-17 15:07 Mc525

8、分即是合 ---创建者模式
摘要:创建者模式:将一个复杂对象的构建层雨其表象层相互分离,同样的构建过程可以采用不同的表示。 针对一些相同共有的属性,很多部分需要抽象提取,不过要明确创建内容。 建造者模式在创建对象时要更为复杂一些,虽然其目的也是为了创建对象,但是更多关系的是创建这个对象的整个过程,甚至于创建对象的每一个细节,比如创建 阅读全文

posted @ 2016-09-10 10:29 Mc525

7、抽象工厂模式
摘要:待完善。。。 阅读全文

posted @ 2016-09-10 08:52 Mc525

6、javascript --工厂方法模式
摘要:对于使用 instanceof 属性不太了解的看,参考这个: http://www.cnblogs.com/Uncle-Keith/p/5834289.html instanceof运算符 instanceof运算符返回一个布尔值,表示指定对象是否为某个构造函数的实例。 因为instanceof对整 阅读全文

posted @ 2016-09-03 13:33 Mc525

5、了解 ---简单工程模式
摘要:简单工程模式有叫静态工厂方法,由一个工程对象决定创建某一种产品独享类的实例。主要是创建同一个对象。 通过new 来实例化 var loginalert = new login('输入用户名'); 这只是一个简单的类,对于有多个类,我们就提供一个: 简单工程模式的理念就是创建对象 举个例子,比如你想创 阅读全文

posted @ 2016-09-02 07:25 Mc525

4、多种调用方式 ---多态
摘要:多态,就是同一个方法多种调用方式。在javascript中也是可以实现的,只不过要对传入的参数做判断以实现多种调用方式,比如我们定义一个方法add方法,如果不传入参数则返回10,传入一个参数返回10+,传入两个参数返回两个参数之和。 "也可以像下面这种形式" 对于多态,我们调用add运算方法时,它会 阅读全文

posted @ 2016-09-01 08:03 Mc525

3、面向对象---多继承
摘要:在javascript中继承时依赖于原型prototype链实现的,只有一个原型链,理论上是不能继承多个父类的。javascript是灵活的,通过一些技巧方法却可以继承多个对象的属性来实现类似的多继承。 extend 方法的实现就是对对象中的属性的一个复制过程,extend 方法是一个浅复制过程,j 阅读全文

posted @ 2016-08-31 07:27 Mc525

2、面向过程与面向对象
摘要:1.1)面向过程我们习惯用传统的方式编写一个一个函数来解决需求的方式,这样不利于整个团队的开发,无端的增加了全局变量,也会出现函数覆盖 1.2)面向对象编程就是将你的需求抽象一个对象,然后针对这个对象分析其特征(属性)与动作(方法),这个对象我们称之为类。面向对象中有一个特点就是封装, 就是说把你的 阅读全文

posted @ 2016-08-27 11:24 Mc525

1、灵活的语言----javascript
摘要:当我们接到新的需求时,感觉一切都很简单,不就是几个函数的事吗?可能会像下面这样,其实不然。 这样写,相当创建了很多个全局变量,你很惊讶的问,我就写几个函数怎么会是变量哪?别急你在往下看 一样的,只不过。。。。。 对,只不过在用的时候提前声明,但你会看到你创建的三个函数保存在变量里来实现你的功能,其实 阅读全文

posted @ 2016-08-26 00:41 Mc525

导航