代码改变世界

随笔分类 -  javascript

javascript 中的数据驱动页面模式

2014-10-13 16:33 by sai.zhao, 2659 阅读, 收藏, 编辑
摘要: 前段时间一直在想前端MVC的意义。这个话题仁者见仁,但是MVC的使用方法给我提了一个管理数据的有意思的想法--数据管理和数据驱动页面。我们以前的思路一直是事件驱动页面,事件驱动页面合乎逻辑而且节约代码。但是往往代码组织结构非常松散,这个松散并不是大家所期望的松耦合,而是一种乱七八糟的感觉,后来在一次... 阅读全文

读书笔记之 - javascript 设计模式 - 接口、封装和链式调用

2014-09-23 13:46 by sai.zhao, 842 阅读, 收藏, 编辑
摘要: javascript 采用设计模式主要有下面的三方面原因:可维护性:设计模式有助于降低模块之间的耦合程度。这使代码进行重构和换用不同的模块变得容易,也使程序员在大型项目中合作变得容易。沟通:设计模式为处理不同类型的对象提供了一套通用的术语。程序员可以简洁的描述自己系统的工作方式。性能:采用一些优化性... 阅读全文

读书笔记之 - javascript 设计模式 - 责任链模式

2014-09-16 15:27 by sai.zhao, 809 阅读, 收藏, 编辑
摘要: 责任链模式可以用来消除请求的发送者和接收者之间的耦合。这是通过实现一个由隐式地对请求进行处理的对象组成的链而做到的。链中的每个对象可以处理请求,也可以将其传给下一个对象。责任链的结构:责任链由多个不同类型的对象组成,发送者是发出请求的对象,而接收者则是链中那些接收这种请求并且对其进行处理或者传递的对... 阅读全文

读书笔记之 - javascript 设计模式 - 命令模式

2014-09-04 13:36 by sai.zhao, 2099 阅读, 收藏, 编辑
摘要: 本章研究的是一种封装方法调用的方式。命令模式与普通函数有所不同。它可以用来对方法调用进行参数化处理和传送,经过这样处理过的方法调用可以在任何需要的时候执行。它也可以用来消除调用操作的对象和实现操作的对象之间的耦合。这为各种具体的类的更换带来了极大的灵活性。这种模式可以用在许多不同的场合,不过它在创建... 阅读全文

读书笔记之 - javascript 设计模式 - 观察者模式

2014-09-01 11:27 by sai.zhao, 844 阅读, 收藏, 编辑
摘要: 在事件驱动的环境中,比如浏览器这种持续寻求用户关注的环境中,观察者模式是一种管理人与其任务(确切的讲,是对象及其行为和状态之间的关系)之间的关系的得力工具。用javascript的话来讲,这种模式的实质就是你可以对程序中某个对象的状态进行观察,并且在其发生变化时可以得到通知。观察者模式中存在俩个角色... 阅读全文

读书笔记之 - javascript 设计模式 - 代理模式

2014-08-28 14:46 by sai.zhao, 932 阅读, 收藏, 编辑
摘要: 代理(proxy)是一个对象,它可以用来控制对另一对象的访问。它与另外那个对象实现了同样的接口,并且会把任何方法调用传递给那个对象。另外那个对象通常称为本体。代理可以代替本体被实例化,并使其可被远程访问。它还可以把本体的实例化推迟到真正需要的时候,对于实例化比较费时的本体,或者因为尺寸较大以至于不用... 阅读全文

读书笔记之 - javascript 设计模式 - 享元模式

2014-08-26 16:36 by sai.zhao, 937 阅读, 收藏, 编辑
摘要: 本章探讨另一种优化模式-享元模式,它最适合于解决因创建大量类似对象而累及性能的问题。这种模式在javascript中尤其有用,因为复杂的javascript代码很快就会用光浏览器的所有可用内存,通过把大量独立对象转化为少量共享对象,可以降低运行web应用程序所需的资源数量。享元模式用于减少应用程序所... 阅读全文

读书笔记之 - javascript 设计模式 - 装饰者模式

2014-08-21 11:37 by sai.zhao, 323 阅读, 收藏, 编辑
摘要: 本章讨论的是一种为对象增添特性的技术,它并不使用创建新子类这种手段。装饰者模式可以透明地把对象包装在具有同样接口的另一对象之中,这样一来,你可以给一些方法添加一些行为,然后将方法调用传递给原始对象。相对于创建子类来说,使用装饰者模式对象是一种更灵活的选择。装饰者可用于为对象增加功能。它可以用来替代大... 阅读全文

读书笔记之 - javascript 设计模式 - 适配器模式

2014-08-18 11:09 by sai.zhao, 800 阅读, 收藏, 编辑
摘要: 适配器模式可以用来在现在接口和不兼容的类之间进行适配。使用这种模式的对象又叫包装器,因为他们是在用一个新接口包装另一个对象。在设计类的时候往往遇到有些接口不能与现有api一同使用的情况,借助于适配器,你可以不用直接修改这些类也能使用他们。适配器的特点:适配器可以被添加到现有代码中以协调俩个不同的接口... 阅读全文

读书笔记之 - javascript 设计模式 - 门面模式

2014-08-14 09:59 by sai.zhao, 462 阅读, 收藏, 编辑
摘要: 门面模式有俩个作用:简化类的接口消除类与使用它的客户代码之间的耦合在javascript中,门面模式常常是开发人员最亲密的朋友。它是几乎所有javascript库的核心原则,门面模式可以使库提供的工具更容易理解。使用这种模式,程序员可以间接地与一个子系统打交道,与直接访问子系统相比,这样做更不容易出... 阅读全文

读书笔记之 - javascript 设计模式 - 工厂模式

2014-08-12 10:58 by sai.zhao, 280 阅读, 收藏, 编辑
摘要: 一个类或者对象中,往往会包含别的对象。在创建这种对象的时候,你可能习惯于使用常规方式,即用 new 关键字和类构造函数。这会导致相关的俩个类之间产生依赖。工厂模式,就是消除这俩个类之间的依赖性的一种模式,它使用一种方法来决定究竟实例化那个具体的类。简单工厂模式假设你想开几个自行车商店,每个商店都有几... 阅读全文

读书笔记之 - javascript 设计模式 - 单体模式

2014-08-11 11:11 by sai.zhao, 213 阅读, 收藏, 编辑
摘要: 单体是一个用来划分命名空间,并将一批相关方法和属性组织在一起的对象,如果它可以被实例化,那么它只能被实例化一次。单体模式,就是将代码组织为一个逻辑单元,这个逻辑单元中的代码可以通过单一的变量进行访问。单体基本结构是这样:var Singleton = { attribute1:true, ... 阅读全文

读书笔记之 - javascript 设计模式 - 组合模式

2014-08-07 16:24 by sai.zhao, 143 阅读, 收藏, 编辑
摘要: 组合模式是一种专为创建Web上的动态用户界面而量身定制的模式,使用这种模式,可以用一条命令在对各对象上激发复杂的或递归的行为。在组合对象的层次体系中有俩种类型对象:叶对象和组合对象。这是一个递归定义,但这正是组合模式如此有用的原因所在。一个组合对象由一些别的组合对象和叶对象组成,其中只有叶对象不再包... 阅读全文

5分钟读书笔记之 - 设计模式 - 桥接模式

2014-07-21 10:29 by sai.zhao, 206 阅读, 收藏, 编辑
摘要: 补充一点知识:私有变量在对象内部使用'var'关键字来声明,而且它只能被私有函数和特权方法访问。私有函数在对象的构造函数里声明(或者是通过var functionName=function(){...}来定义),它能被特权函数调用(包括对象的构造函数)和私有函数调用。特权方法通过this.metho... 阅读全文