04 2014 档案

摘要:原文地址:http://www.html5rocks.com/en/tutorials/getusermedia/intro/概述有了HTML5,我们就可以在不借助Flash或者Silverlight的情况下完成这项工作了。HTML5能够使我们访问设备的硬件,比如GPS,WebGL等等。这篇文章,我... 阅读全文
posted @ 2014-04-16 16:19 JChen___ 阅读(1159) 评论(0) 推荐(0)
摘要:装饰者模式概述本章讨论的是一种为对象添加特性的技术,她并不使用创建新子类这种手段。装饰者模式可以用来透明的把对象包装在具有同样接口的另一个对象中。这样一来,就可以给一个方法添加一些行为,然后将方法调用传递给原始对象。装饰者的结构装饰者可用于为对象添加功能,她可以用来替代大量子类。我们还是来看那个自行... 阅读全文
posted @ 2014-04-14 10:40 JChen___ 阅读(2025) 评论(2) 推荐(0)
摘要:适配器模式概述适配器模式可用来在现有接口和不兼容的类之间进行适配。使用这种模式的对象又叫包装器(wrapper)。适配器特点从表面看,适配器模式很像门面模式。她们都要对别的对象进行包装并改变其呈现的接口。二者的区别在于她们如何改变接口:门面元素展现的是一个简化的接口,她并不提供额外的选择,而且有时为了方便完成任务她还会做出一些假定。适配器则要把一个接口转换为另一个接口,她并不滤除某些能力,也不会简化接口。假设有一个对象,还有一个以三个字符串为参数的函数:var clientObject = { string1: 'foo', string1: 'bar', st 阅读全文
posted @ 2014-04-11 13:36 JChen___ 阅读(1867) 评论(1) 推荐(0)
摘要:门面模式这是一种组织性的模式,它可以用来修改类和对象的接口,使其更便于使用。它可以让程序员过得更轻松,使他们的代码变得更容易管理。门面模式有两个作用:简化类的接口消除与使用她的客户代码之间的耦合一个简单的门面模式var addEvent = function(el, ty, fn){ var cases = [ function(el, ty, fn) { el.addEventListener(ty, fn, false); }, function(el, ty, fn) { el.attachEvent('on'+ty, fn); }, fu... 阅读全文
posted @ 2014-04-08 11:45 JChen___ 阅读(1087) 评论(0) 推荐(0)
摘要:组合模式概述组合模式是一种专为创建Web上的动态用户界面量身定制的模式.使用这种模式可以用一条命令在多个对象上激发复杂的递归的行为.它可以用来把一批子对象组织成树形结构,并且使整棵树都可被遍历.所有组合对象都实现了一个用来获得子对象的方法.组合对象有两种结构组合对象和叶对象,如下: 组合对象 / | \ 组合对象 叶对象 组合对象 / \ / \叶对象 叶对象 叶对象 叶对象 组合模式的适用条件存在一批组织成某种层次体系的对象(具体的结构在开发期间可能无法得知)希望这批对象或其中的一部分对象实施一个操作.组合模式擅长于对大批对象... 阅读全文
posted @ 2014-04-04 13:55 JChen___ 阅读(726) 评论(0) 推荐(0)
摘要:桥接模式的用途在实现API的时候,桥接模式非常有用.在设计一个JavaScript API的时候,可以用这个模式来弱化它与使用它的类和对象之间的耦合.示例:事件监听器桥接模式最常见和实际的应用的场合之一是事件监听器回调函数.假设有一个名为getBeerById的API函数,它根据一个标识符返回有关某种啤酒的信息.常规的实现:addEvent(element,'click', getBeerById);function getBeerById(e){ var id = this.id; asyncRequest('GET', 'beer.uri?id=&# 阅读全文
posted @ 2014-04-01 11:05 JChen___ 阅读(422) 评论(0) 推荐(0)