关于JavaScript设计模式1

开发人员通常想知道他们是否应该在工作中使用一种“理想”的模式或模式集。这个问题没有明确的唯一的答案,我们研究的每个脚本和Web应用程序可能都有它自己的个性化需求,我们需要思考模式的哪些方面能够为实现提供实际价值。

一旦我们牢牢掌握了设计模式和它们最为相配的具体问题,那么将它们继承到我们的应用程序架构中就会变得更加容易。


本文关于JavaScript设计模式1,探讨两种设计模式:

Constructor(构造器)模式;

Module(模块)模式;


Constructor(构造器)模式:

1.基本Constructor(构造器)


缺点:一个问题是使继承变得困难,另一个问题是,toString()这样的函数是为每个使用Car构造器创建的新对象而分别重新定义的,这不是最理想的,因为这种函数应该在所有的Car类型实例之间共享。

2.带原型的Constructor(构造器)


现在toString()的单一实例就能够在所有Car对象之间共享。


Module(模块)模式:

在JavaScript中,有几种用于实现模块的方法,包括:

对象字面量表示法

Module模式

ADM模块

CommonJs模块

ECMAScript Harmony模块


本次主要探索Module模式,Module模式在某种程度上是基于对象字面量,因此先介绍对象字面量。

1.对象字面量

使用对象字面量表示法定义的模块:


2.Module(模块)模式

Module模式使用闭包封装“私有”状态和组织。它提供了一种包装混合公有/私有方法和变量的方式,防止其泄露至全局作用域,并与别的开发人员的接口发生冲突。通过该模式,只需返回一个公有API,而其他的一切则都维持在私有闭包里。

包含命名空间、公有和私有变量的Module模式:




ITDogFire –ttsy

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值