随笔分类 -  javascript设计模式

1

javascript - 封装原生js实现ajax
摘要:上述的Ajax方法可以看成是一个类,共有方法有: 1. 初始化数据方法init(), 2. 创建异步请求对象方法createXHR(), 3.请求方法ajax(),post(),get(), 4.请求成功后回调方法callback(), 5.数据格式转换方法params() 也可以看成一个函数,re 阅读全文

posted @ 2016-11-02 11:37 惊涛随笔 阅读(3508) 评论(2) 推荐(0) 编辑

javascript设计模式-策略模式
摘要:策略模式笔记 将定义的一组算法封装起来,使其相互之间可以替换。 封装的算法具有一定独立性,不会随客户端变化而变化。 与状态模式异同? 1. 结构上看,它与状态模式很像,也是在内部封装一个对象,然后通过返回的接口对象实现对内部对象的调用 2. 不同点是,策略模式不需要管理状态,状态之间没有依赖关系、策 阅读全文

posted @ 2016-10-31 15:59 惊涛随笔 阅读(246) 评论(0) 推荐(0) 编辑

javascript - 状态模式 - 简化分支判断流程
摘要:状态模式笔记 当一个对象的内部状态发生改变时,会导致行为的改变,这像是改变了对象 状态模式既是解决程序中臃肿的分支判断语句问题,将每个分支转化为一种状态独立出来,方便每种状态的管理又不至于每次执行时遍历所有分支 主要目的:将条件判断的不同结果转化为状态对象的内部状态,既然是状态对象的内部状态,所以作 阅读全文

posted @ 2016-10-27 15:35 惊涛随笔 阅读(795) 评论(0) 推荐(0) 编辑

javascript-观察者模式
摘要:观察者模式方法 1.称之为消息机制或发布-订阅者模式 2.定义了一种依赖关系解决了主体对象与观察者之间功能的耦合 观察者方法 对象间解耦:用在课堂上老师提问学生的例子说明一下 学生类Student: 老师类Teacher 实例化三个学生(订阅者) 监听到老师的问题(订阅者监听发送者发送的信息) 没有 阅读全文

posted @ 2016-10-27 11:57 惊涛随笔 阅读(226) 评论(0) 推荐(0) 编辑

javascript-模板方法模式-提示框归一化插件
摘要:模板方法模式笔记 父类中定义一组算法操作骨架,而将一些实现步骤延迟到子类中,使得子类可以不改变父类的算法结构的同时可重新定义算法中某些实现步骤 实例:弹出框归一化插件 css样式 运用寄生组合继承方法 首先要创建基本提示框基类(模板类),然后其他提示框类只需要在继承的基础上,拓展自己所需即可,日后需 阅读全文

posted @ 2016-10-26 17:21 惊涛随笔 阅读(428) 评论(0) 推荐(0) 编辑

javascript - 享元模式
摘要:享元模式笔记 运用共享技术有效的支持大量的细粒度对象,避免对象间拥有相同内容造成多余的开销 享元模式主要还是对其数据、方法共享分离,它将数据和方法分成内部数据、内部方法和外部数据、外部方法。 内部方法与内部数据指的是相似或者共有的数据和方法,所以将这部分提取出来减少开销,以提高性能。 demo实例  阅读全文

posted @ 2016-10-26 11:03 惊涛随笔 阅读(278) 评论(0) 推荐(0) 编辑

javascript-组合模式
摘要:组合模式笔记 组合模式又称部分-整体模式,将对象组合成树形结构以表示'部分整体'的层次结构 组合模式使得用户对单个对象和组合对象的使用具有一致性 demo实例 :表单模块 要调用到前面学习到的寄生组合继承方法 表单 demo 1.表单虚拟父类 Base 2.FormItem容器类 3.Fieldse 阅读全文

posted @ 2016-10-25 10:54 惊涛随笔 阅读(423) 评论(0) 推荐(1) 编辑

javascript-桥接模式
摘要:桥接模式 1.在系统沿着多个维度变化的同时,又不增加其复杂度并以达到解耦 2.最主要特点:将实现层(如元素绑定的事件)与抽象层(如修饰页面UI逻辑)解耦分离,使两部分独立变化 3.避免需求的改变造成对象内部的修改,体现了面向对象对拓展的开发及修改的关闭原则 demo实例:创建一个对象桥接method 阅读全文

posted @ 2016-10-24 15:46 惊涛随笔 阅读(678) 评论(0) 推荐(0) 编辑

javascript-装饰者模式
摘要:装饰者模式笔记 在不改变原对象的基础上, 通过对其进行包装拓展(添加属性或方法)使原有对象可以满足用户的更复杂要求。 需求不是一成不变的,需求会不断改进,以增强用户体验 demo实例:对输入框添加focus与blur事件 这个实例中,输入框只有一两个时,新添需求不觉得麻烦,当有许多输入框都要新添需求 阅读全文

posted @ 2016-10-24 11:49 惊涛随笔 阅读(286) 评论(0) 推荐(0) 编辑

javascript-代理模式
摘要:JavaScript代理模式笔记 由于一个对象不能直接引用另一个对象,所以要用过代理对象在这两个对象之间起到中介作用 1.代理对象形式是通过script标签 demo实例实现的方式也被人称之为JSONP方案 通过src实现get请求 回调函数打印请求数据与响应数据 另外一个域下服务器请求接口 控制台 阅读全文

posted @ 2016-10-22 23:55 惊涛随笔 阅读(549) 评论(0) 推荐(0) 编辑

javascript-适配器模式
摘要:适配器模式笔记 将一个类(对象)的接口(方法或属性)转化成另一个接口,以满足用户需求,使类(对象)之间接口的不兼容性问题通过适配器方法得以解决 demo实例:1.适配参数对象,使传入的参数完整 2.适配参数对象类型,通过适配器转换要传入的参数类型 1.适配参数对象,使传入的参数完整 参数测试数据对象 阅读全文

posted @ 2016-10-21 17:44 惊涛随笔 阅读(528) 评论(0) 推荐(0) 编辑

javascript-外观模式
摘要:外观模式笔记 1. 为一组复杂的子系统接口提供一个更高级的统一接口, 通过这个接口使得对子系统接口的访问更容易; 2. 简化底层接口的复杂性,解决浏览器兼容性问题。 3.也会用于对底层结构兼容性做统一封装来简化用户使用 以事件方法作为demo实例 添加元素事件有三种:addEventListener 阅读全文

posted @ 2016-10-21 16:38 惊涛随笔 阅读(249) 评论(0) 推荐(0) 编辑

javascript-单例模式
摘要:单例模式笔记 也称为单体模式,只允许实例化一次的对象类 用法: 1.命名空间:用一个对象来规划一个命名空间,井井有条的管理对象上的属性和方法 2.静态变量管理:让创建的函数执行一次,创建的对象内保存静态变量通过取值器访问,将这个对象作为一个单例放在全局空间里作为静态变量单例对象供他人使用 3.惰性单 阅读全文

posted @ 2016-10-21 14:55 惊涛随笔 阅读(196) 评论(0) 推荐(1) 编辑

javascript-建造者模式
摘要:建造者模式笔记 1.工厂模式主要是为了创建对象实例或者类簇(抽象工厂),关心的是最终产出(创建)的是什么,不关心你创建的整个过程,仅仅需要知道你最终创建的结果 2.建造者模式目的也是为了创建对象,但是它更多的关心的是创建这个对象的整个过程,甚至于创建对象的每一个细节。 3.这种模式创建的对象更为复杂 阅读全文

posted @ 2016-10-21 10:46 惊涛随笔 阅读(381) 评论(0) 推荐(0) 编辑

javascript-抽象工厂模式
摘要:抽象工厂模式笔记 1.抽象工厂模式创建多个抽象类,创建出的结果是一个类簇(这里是抽象类的集合) 2.抽象工厂中传入的父类是否是抽象工厂方法创建的抽象类进行判断,不是则抛出错误 3.子类通过抽象工厂方法(寄生式继承)继承父类(抽象工厂创建的抽象类)的属性和方法 原型式继承 寄生式继承 继承原型 抽象工 阅读全文

posted @ 2016-10-20 17:30 惊涛随笔 阅读(842) 评论(1) 推荐(0) 编辑

javascript设计模式-工厂方法模式
摘要:工厂方法模式笔记 通过对产品类的抽象使其创建业务主要负责用于创建多类产品的实例 对于创建多类对象,简单工厂不太实用,这是简单工厂模式的应用局限,当然这正是工厂方法模式的价值之所在 通过工厂方法模式可以轻松的创建多个类的实例对象,而且创建对象的方式避免了使用者与对象类之间的耦合,用户不必关心创建该对象 阅读全文

posted @ 2016-10-20 15:53 惊涛随笔 阅读(610) 评论(0) 推荐(0) 编辑

javascript-简单工厂两种实现方式
摘要:简单工厂笔记 两种方式: 第一种:通过实例化对象创建 第二种:通过创建一个新对象然后包装增强其属性和功能来实现 差异性:前一种通过类创建的 对象,如果这些类继承同一个父类,他们父类原型上的方法是可以共用的;后一种通过寄生方式创建的对象都是一个新的个体,所以他们的方法就不能共用了 第一种和第二种都 以 阅读全文

posted @ 2016-10-20 14:37 惊涛随笔 阅读(539) 评论(0) 推荐(0) 编辑

javascript函数的几种写法集合
摘要:1.常规写法 2.匿名函数,函数保存到变量里 3.如果有多个变量,可以用对象收编变量 3.1 用json对象 3.2 声明一个对象,然后给它添加方法 3.3 可以把方法放在一个对象函数里 4.可用类来实现,注意类的第二种和第三种写法不能混用,否则一旦混用,如在后面为对象的原型对象赋值新对象时,那么他 阅读全文

posted @ 2016-10-20 10:54 惊涛随笔 阅读(4828) 评论(0) 推荐(1) 编辑

javascript多态 - 类形式实现demo
摘要:/* *多态 * 对传入的参数做判断以实现多种调用方式 */ //类形式实现 function Add(){ function zero(){ return 10; } function one(num){ return 10+num; } function two(n1,n2){ return n 阅读全文

posted @ 2016-10-19 14:26 惊涛随笔 阅读(277) 评论(0) 推荐(1) 编辑

javascript继承笔记
摘要://原型(prototype):原型是一个对象,其他对象可以通过它实现属性继承 /*笔记: * 1.类式继承:通过原型链继承的方式 * 2.原型式继承:对类式继承的封装 * 3.寄生式继承:对原型继承的二次封装,并且在第二次封装过程中对继承的对象进行扩展 * 4.构造函数式继承:通过构造函数继承的方 阅读全文

posted @ 2016-10-19 11:28 惊涛随笔 阅读(284) 评论(0) 推荐(0) 编辑

1

导航