JavaScript设计模式浅谈
本专栏主要介绍包括接口、封装、继承、单体模式、工厂模式、桥接模式、组合模式、门面模式等一些JavaScript的常见的模式。
小平果118
我是一匹奔腾的野马,需要你来征服。。。。。
展开
-
JavaScript设计模式 Item9 --适配器模式Adapter
适配器模式(转换器面模式),一般是为要使用的接口,不符本应用或本系统使用,而需引入的中间适配层类或对象的情况。适配器模式的作用是解决两个软件实体间的接口不兼容的问题。一、定义适配器模式(Adapter)是将一个类(对象)的接口(方法或属性)转化成客户希望的另外一个接口(方法或属性),适配器模式使得原本由于接口不兼容而不能一起工作的那些类(对象)可以一些工作。速成包装器(wrapper)。适配器的别名原创 2016-03-14 16:49:43 · 2330 阅读 · 3 评论 -
JavaScript设计模式 Item8 --外观模式Facade
外观模式(门面模式),是一种相对简单而又无处不在的模式。一、定义外观模式(Facade)为子系统中的一组接口提供了一个一致的界面,此模块定义了一个高层接口,这个接口值得这一子系统更加容易使用。外观模式不仅简化类中的接口,而且对接口与调用者也进行了解耦。外观模式经常被认为开发者必备,它可以将一些复杂操作封装起来,并创建一个简单的接口用于调用。在JavaScript中,也经常使用对底层结构兼容性做统一的原创 2016-03-14 14:02:43 · 1431 阅读 · 0 评论 -
JavaScript设计模式 Item 7 --策略模式Strategy
1、策略模式的定义何为策略?比如我们要去某个地方旅游,可以根据具体的实际情况来选择出行的线路。 如果没有时间但是不在乎钱,可以选择坐飞机。 如果没有钱,可以选择坐大巴或者火车。 如果再穷一点,可以选择骑自行车。 在程序设计中,我们也常常遇到类似的情况,要实现某一个功能有多种方案可以选择。比如一个压缩文件的程序,既可以选择zip算法,也可以选择gzip算法。定义:策略模式定义一系列的算法,分别封装起来原创 2015-11-06 20:30:28 · 1369 阅读 · 1 评论 -
JavaScript设计模式 Item 6 --单例模式Singleton
1、单例模式的使用场景在使用一种模式之前,我们最好要知道,这种模式的使用场景。用了这么久的单例模式,竟全然不知!用它具体有哪些好处呢? 1.可以用它来划分命名空间(这个就是就是经常用的了) 2.利用分支技术来封装浏览器之间的差异(这个还真没用过,挺新鲜) 3.借助单例模式,可以把代码组织的更为一致,方便阅读与维护(这个也用过了) 2、最基本的单例模式最简单的单例其实就是一个对象字面量。它把一批有一定原创 2015-11-06 13:26:43 · 2626 阅读 · 6 评论 -
JavaScript设计模式 Item 5 --链式调用
1、什么是链式调用这个很容易理解,例如:$(this).setStyle('color', 'red').show();一般的函数调用和链式调用的区别:调用完方法后,return this返回当前调用方法的对象。function Dog(){ this.run= function(){ alert("The dog is running....");原创 2015-11-06 12:18:27 · 1675 阅读 · 0 评论 -
JavaScript设计模式 Item 4 --继承
1、继承在javascript中继承是一个非常复杂的话题,比其他任何面向对象语言的中的继承都复杂得多。在大多数其他面向对象语言中,继承一个类只需要使用一个关键字即可。与它们不同,在javascript中要想达到传承公用成员的目的,需要采取一系列措施。更有甚者,javascript属于使用原型式继承的少数语言之一。利益于这种语言的灵活性,你既可使用标准的基于类的继承,也可使用更微妙一些的原型式继承。2原创 2015-11-01 21:27:20 · 955 阅读 · 0 评论 -
JavaScript设计模式 Item 3 --封装
在JavaScript 中,并没有对抽象类和接口的支持。JavaScript 本身也是一门弱类型语言。在封装类型方面,JavaScript 没有能力,也没有必要做得更多。对于JavaScript 的设计模式实现来说,不区分类型是一种失色,也可以说是一种解脱。从设计模式的角度出发,封装在更重要的层面体现为封装变化。通过封装变化的方式,把系统中稳定不变的部分和容易变化的部分隔离开来,在系统的演变过程中,原创 2015-11-01 20:52:31 · 1148 阅读 · 0 评论 -
JavaScript设计模式 Item 2 -- 接口的实现
1、接口 (1)什么是接口? 接口是提供了一种用以说明一个对象应该具有哪些方法的手段。尽管它可以表明这些方法的语义,但它并不规定这些方法应该如何实现。例如,如果一个接口包含有一个名为setName的方法,那么你有理由认为这个方法的实现应该具有一个字符串参数,并且会把这个参数赋给一个name变量。有了这个工具,你就能按对象提供的特性对它们进行分组。例如,即使一批对象彼此存在着极大的原创 2015-11-01 16:13:16 · 1545 阅读 · 1 评论 -
JavaScript设计模式Item 1—多态
多态的实际含义是:同一操作作用于不同的对象上面,可以产生不同的解释和不同的执行结果。换句话说,给不同的对象发送同一个消息的时候,这些对象会根据这个消息分别给出不同的反馈。从字面上来理解多态不太容易,下面我们来举例说明一下。主人家里养了两只动物,分别是一只鸭和一只鸡,当主人向它们发出“叫”的命令时,鸭会“嘎嘎嘎”地叫,而鸡会“咯咯咯”地叫。这两只动物都会以自己的方式来发出叫声。它们同样“都是动物,并且原创 2015-11-01 14:17:38 · 1298 阅读 · 0 评论