经过一段工作时间的沉淀后,我发现需要细看一些书籍验证当中获得的经验。在JavaScript上的结构和模式上的考虑,使我决定精读《JavaScript设计模式》(中文版)。在阅读的过程中,发现中文版的某些译文有些不适当的时候,我就会查询相应英文版《Learning JavaScript Design ...
分类:
编程语言 时间:
2016-06-09 12:16:48
阅读次数:
329
由于本人只是个前端新手,刚学javascript,所以文章不可避免的会出现些错误。如果各位看客看到文章的错误,恳请指出,我会及时更改,谢谢! 工厂模式是一种广为人知的设计模式,其提供创建对象的接口,根据调用者的参数来生成相应的对象。通过使用工厂模式而不是new关键字及具体类,可以将所有的实例化的类都 ...
分类:
编程语言 时间:
2016-06-08 15:45:27
阅读次数:
108
今天讲讲javascript设计模式中的包装明星——封装,我们会把现实中的一些事物抽象成一个Class并且把事物的属性(名词)作为Class的Property把事物的动作(动词)作为Class的methods。在面向对象的语言中(C#等)都会有一些关键字来修饰类或者属性(Private,public ...
分类:
编程语言 时间:
2016-05-24 18:52:10
阅读次数:
274
迭代器模式的定义:提供一种方法访问一个聚合对象中的各个对象。可以做到不关心对象的内部构造,也可以按顺序的访问每个原宿。 内部迭代器:外部只需要一次初始调用 外部迭代器:在外部必须进行显式的迭代 中止迭代器:给回调器设置callback函数返回false时跳出循环 迭代器的应用举例:文件上传有多种方式 ...
分类:
编程语言 时间:
2016-05-19 01:30:49
阅读次数:
200
代理模式的定义:代理模式为一个对象提供一个经纪人,以便控制对它的访问 虚拟代理:虚拟代理把一些开销很大的对象,延迟到真正需要的时候才去创建 使用虚拟代理实现图片预加载 使用代理的意义: 单一职责原则 图片预加载功能不引入任何模式也能实现,但是“管理真实图片”和“管理预加载”的代码就会混杂在一起 如果 ...
分类:
编程语言 时间:
2016-05-18 00:08:16
阅读次数:
138
工厂模式的定义 工厂模式定义一个用于创建对象的接口,这个接口由子类决定实例化哪一个类。该模式使一个类的实例化延迟到了子类。而子类可以重写接口方法以便创建的时候指定自己的对象类型。 工厂模式的使用场景 以下几种情景下工厂模式特别有用: (1)对象的构建十分复杂 (2)需要依赖具体环境创建不同实例 (3 ...
分类:
编程语言 时间:
2016-05-17 11:16:51
阅读次数:
167
单例模式的定义:保证一个类只有一个实例,并且提供一个访问它的全局访问点 实现单例模式:将单例模式类的实例保存,每次创建新实例的时候检查之前有没有实例被保存,有的话就返回原先的实例 使用代理实现单例模式:将单例模式实际要做的“事情”和“判断是否单例”分离编码(实际上这里和下面的getSingle的目的 ...
分类:
编程语言 时间:
2016-05-16 01:59:33
阅读次数:
228
一、文章简介 本文是我在阅读O'Reolly出版的《JavaScript设计模式》书后总结的一份读书报告,不算原创。我会根据我看书后自己的领悟,并且结合书上的例子进行写博文。如果文章中有什么写的不对的也希望各位前辈指点一下。(*^__^*) 二、目录 一头扎进JavaScript设计模式(一)- 构 ...
分类:
编程语言 时间:
2016-05-13 08:52:19
阅读次数:
158
一、前言 1.对象是什么?怎么创建?怎么赋值? 在这边就不展开讲了,请参考另外一篇博文JavaScript 对象详解。 2.Contructor是什么? 在这边我们先运用书上的一段话:在经典的面向对象变成语言中,constructor是一种在内存已分配给该对象的情况下,用于初始化新创建对象的特殊方法 ...
分类:
编程语言 时间:
2016-05-13 08:25:20
阅读次数:
205
单例模式:只允许实例化一次的对象类
这种在基本的编程中可能已经经常的用到,只是不知道是单例模式
比如config.js文件,service.js里都会经常用到:app.factory('payInfo', function($location) {
// Might use a resource here that returns a JSON array
return {
ge...
分类:
编程语言 时间:
2016-05-13 04:33:49
阅读次数:
144