js设计模式
SunsCheung
Sharing is a virtue
展开
-
【js设计模式笔记---接口】
接口.. 暂时不理解,理解之后补上转载 2016-09-27 11:42:34 · 167 阅读 · 0 评论 -
【js设计模式笔记---代理模式】
代理模式 代理是一个对象,它可以用来控制对另一个对象的访问。它与另外那个对象实现了同样的接口,并且会把任何方法调用传递给那个对象。另外那个对象通常称为本体。代理可以代替其本体被实例化,并使其可被远程访问。它还可以把本体的实例化推迟到真正需要的时候,对于实例化比较费时的本体,或者因尺寸较大以至于不用时不宜保存在内存中的本体,这特别有用。在处理那些需要较长时间才能把数据载入用用户界面的类时,代理转载 2016-09-27 17:33:23 · 202 阅读 · 0 评论 -
【js设计模式笔记---享元模式】
享元模式 享元(flyweight)模式。它最适合于解决因创建大量类似对象而累及性能的问题。这种模式在javascript中尤其有用,因为复杂的javascript代码可能很快就会用光浏览的甩有可用内存。通过把大量独立的对象转化为少量其享对象,可以降低运行Web应用程序所需要 的资源数量。这种技术带来的好处可大可小。对于那些可能一连用上几天也不会重新加载的大型应用系统,任何减少内存用量的技术转载 2016-09-27 17:32:47 · 180 阅读 · 0 评论 -
【js设计模式笔记---装饰者模式】
装饰者模式 本节讨论的是一种为对象增添特性的技术,它并不使用创建新子类的手段。装饰者模式可以用来透明地把对象包装在具有同样接口的另一对象之中。这样一来,你可以给一个方法添加一些行为,然后将方法调用传递给原始对象。相对于创建子类来说,使用装饰都对象是一种更灵活的选择。这种模式特别适合javascript,因为通常javascript代码并不怎么依赖对象的类型。 装饰者的结构 装饰者转载 2016-09-27 17:32:10 · 217 阅读 · 0 评论 -
【js设计模式笔记---适配器模式】
适配器模式 适配器模式可用来在现有接口和不兼容的类之间进行适配。使用这种模式的对象又叫包装器,因为它们在用一个新的接口包装另一个对象。许多时候创建适配器对程序员和接口设计人员都有好处。在设计类的时候往往会遇到有些接口不能与现有API一同使用的情况。借助于适配器,你不用直接修改这些类也能使用它们。 适配器的特点 适配器可以被添加到现有代码中以协调两个不同的接口。如果现有代码的接口能转载 2016-09-27 17:31:30 · 234 阅读 · 0 评论 -
【js设计模式笔记---门面模式】
门面模式 门面模式有两个作用:一是简化类的接口;二是消除类与使用它的客户代码之间的耦合。在javascript中,门面模式常常是开发人员最亲密的朋友。它是几乎所有javascript库的核心原则。通过创建一些使得方法让复杂系统变得更加简单易用,门面模式可以使库提供的工具更容易理解。使用这种模式,程序员可以间接地与一个子系统打交道,与直接访问子系统相比,这样做更不容易出错。 门面模式简化转载 2016-09-27 17:30:53 · 319 阅读 · 0 评论 -
【js设计模式笔记---组合模式】
组合模式 组合模式是一种专为创建Web上动态用户界面而量身定制的模式。使用这种模式,可以用一条命令在多个对象上激发复杂的或递归的行为。 组合模式为操劳过度的javascript程序员带来了两大的好处 你可以用同样的方法处理对象的集合与其中的特定子对象。组合对象与组成它的对象实现了同一批操作。对组合对象执行的这些操作将向下传递到所有的组成对象,这样一来所有的组成对象都会执行同样的操转载 2016-09-27 17:30:05 · 220 阅读 · 0 评论 -
【js设计模式笔记---桥接模式】
桥接模式 Gof的定义,桥接模式的作用在于“将抽象与其实现隔离开来,以便二者独立变化“。这种模式对javascript中常见的事件驱动的编程有裨益。 示例:事件监听器 桥接模式最常见和实际的应用场合之一是事件监听器回调函数。假设有一个名为getBeerById的API函数,它根据一个标识符返回有关某种啤酒的信息。当然,在web应用软件中,你希望在用户执行某种操作时获取这种信息。那个被转载 2016-09-27 17:29:28 · 246 阅读 · 0 评论 -
【js设计模式笔记---工厂模式】
工厂模式 简单工厂 最好用一个例子来说明简单工厂模式的概念。假设你想开几个自行车商店,每个店都有几种型号的自行车出售。这可以用一个类来表示 /*BicycleShopclass*/ var BicycleShop =function(){}; BicycleShop.prototype= { sellBicycle:function(model){转载 2016-09-27 17:28:42 · 239 阅读 · 0 评论 -
【js设计模式笔记---方法的链式调用】
方法的链式调用 调用链的结构 对$函数你已经很熟悉了。它通常返回一个html元素或一个html元素的集合,如下: function$(){ var elements = []; for(vari=0,len=arguments.length;i var element = arguments[i];转载 2016-09-27 17:21:24 · 244 阅读 · 0 评论 -
【js设计模式笔记---单体模式】
单体模式 单体模式是javascript中最基本但又最有用的模式之一,它可能比其他任何模式都更常用。这种模式提供了一种将代码组织为一个逻辑单元的手段,这个逻辑单元中的代码可以通过单一的变更进行访问。通过确保单体对象只存在一份实例,你就可以确信自己的所有代码使用的都是全局资源。 这种模式在javascript中非常重要,也许比在其他任何语言中都更重要。在网页上使用全局变量有很大的风险,而转载 2016-09-27 17:19:48 · 195 阅读 · 0 评论 -
【js设计模式笔记---继承】
继承 在javascript中继承是一个非常复杂的话题,比其他任何面向对象语言的中的继承都复杂得多。在大多数其他面向对象语言中,继承一个类只需要使用一个关键字即可。与它们不同,在javascript中要想达到传承公用成员的目的,需要采取一系列措施。更有甚者,javascript属于使用原型式继承的少数语言之一。利益于这种语言的灵活性,你既可使用标准的基于类的继承,也可使用更微妙一些的原型式继转载 2016-09-27 16:31:43 · 167 阅读 · 0 评论 -
【js设计模式笔记---封装】
目录(?)[-] 封装和信息隐藏 信息隐藏原则 封装与信息隐藏接口扮演的角色 创建对象的基本模式 门户大开型对象用命名规范区别私用成员作用域嵌套函数和闭包用闭包实现私用成员 更多高级对象创建模式 静态方法和属性常量单体和对象工厂 封装和信息隐藏 为对象创建私用成员是任何面向对象语言中最基本和有用的特性之一。通过将一个方法或属性声明为转载 2016-09-27 16:24:10 · 932 阅读 · 0 评论 -
【js设计模式笔记---序】
目录(?)[-] javascript的灵活性 弱类型语言函数是一等公民对象的易变性 javascript的灵活性 javascript的强大特性是其灵活性。作为javascript程序员,只要你愿意,可以把程序写得很简单、也可以写得很复杂。这种语言也支持多种不同的编程风格。你既可以采用函数式编程风格,也可以采用更复杂一点的面向对象编程风格。即使你不懂函数式编程转载 2016-09-27 11:39:55 · 211 阅读 · 0 评论 -
【js设计模式笔记---观察者模式】
观察者模式 又称发布—订阅者(publisher-subscriber模式),这是一种多对多的关系,需要一种高级的抽象策略,以便订阅者能够彼此独立地发生改变,而发行方能够接受任何有消费意向的订阅者。 模式的实践 在javascript中有很多种方法可能实现发布—订阅模式。在展示那些示例之前,我们先确保各种角色的扮演者(对象)及其行为(方法)都已就绪。 1. 订阅者:可以订阅转载 2016-09-27 17:34:31 · 251 阅读 · 0 评论