javascript模块化是什么及其优缺点介绍

 更新时间:2013年09月02日 17:43:41   作者:  
模块化是一种将系统分离成独立功能部分的方法,可将系统分割成独立的功能部分,严格定义模块接口、模块间具有透明性
如今backbone、emberjs、spinejs、batmanjs 等MVC框架侵袭而来。CommonJS、AMD、NodeJS、RequireJS、SeaJS、curljs等模块化的JavaScript扑面而来。web前端已经演变成大前端,web前端的发展速度之快。

1)我们来看看什么是模块化?
模块化是一种将系统分离成独立功能部分的方法,可将系统分割成独立的功能部分,严格定义模块接口、模块间具有透明性。javascript中的模块在一些C、PHP、java中比较常见:

c中使用include 包含.h文件;php中使用require_once包含.php文件
java使用import导入包
此中都有模块化的思想。

2)模块化的优缺点:

a>优点:
可维护性
1.灵活架构,焦点分离
2.方便模块间组合、分解
3.方便单个模块功能调试、升级
4.多人协作互不干扰
可测试性
1.可分单元测试

b>缺点:
性能损耗
1.系统分层,调用链会很长
2.模块间通信,模块间发送消息会很耗性能

3)最近的项目中也有用到模块化,使用的是seajs,但是当引用到jquery,jquery easyui/或者jquery UI组件时,有可能会用到很多jquery插件,那这样要是实现一个很复杂的交互时,模块间的依赖会很多,使用define()方法引入模块会很多,不知有么有什么好的方法?

4)附:
内聚度
内聚度指模块内部实现,它是信息隐藏和局部化概念的自然扩展,它标志着一个模块内部各成分彼此结合的紧密程度。好处也很明显,当把相关的任务分组后去阅读就容易多了。 设计时应该尽可能的提高模块内聚度,从而获得较高的模块独立性。

耦合度
耦合度则是指模块之间的关联程度的度量。耦合度取决于模块之间接口的复杂性,进入或调用模块的位置等。与内聚度相反,在设计时应尽量追求松散耦合的系统。

相关文章

  • JavaScript初学者应注意的七个细节详细介绍

    JavaScript初学者应注意的七个细节详细介绍

    种种语言都有它特别的地方,对于JavaScript来说,使用var就可以声明任意类型的变量,这门脚本语言看起来很简单,然而想要写出优雅的代码却是需要不断积累经验的,接下来介绍初学者应注意
    2012-12-12
  • 深入理解javascript变量声明

    深入理解javascript变量声明

    本文是谈谈自己对于javascript中变量声明的一些看法、感想和理解,算是自己的一个小总结吧,分享出来给大家,希望对小伙伴们能有所帮助
    2014-11-11
  • JavaScript中的eval()函数详解

    JavaScript中的eval()函数详解

    和其他很多解释性语言一样,JavaScript同样可以解释运行由JavaScript源代码组成的字符串,并产生一个值。JavaScript通过全局函数eval()来完成这个工作
    2013-08-08
  • JavaScript进阶教程(第三课)

    JavaScript进阶教程(第三课)

    JavaScript进阶教程(第三课)...
    2007-04-04
  • 学习js在线html(富文本,所见即所得)编辑器

    学习js在线html(富文本,所见即所得)编辑器

    需要一个可以编辑同时又可显效果的编辑框。textarea不行,它只能用来输入纯文本,不能显示颜色、斜体之类的文字样式,就像记事本,本文介绍所见即所得编辑器实现原理
    2012-12-12
  • 深入理解JavaScript系列(19):求值策略(Evaluation strategy)详解

    深入理解JavaScript系列(19):求值策略(Evaluation strategy)详解

    这篇文章主要介绍了深入理解JavaScript系列(19):求值策略(Evaluation strategy)详解,本文讲解了一般理论、按值传递、按引用传递、按共享传递(Call by sharing)、按共享传递是按值传递的特例等内容,需要的朋友可以参考下
    2015-03-03
  • JS div匀速移动动画与变速移动动画代码实例

    JS div匀速移动动画与变速移动动画代码实例

    这篇文章主要介绍了JS div匀速移动动画与变速移动动画,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • JavaScript 学习初步 入门教程

    JavaScript 学习初步 入门教程

    看了《21天学习JavaScript》的视频教程,感觉就是语法好熟悉,和C++类似,和C#类似,和Java类似!幡然悔悟这些语言的语法都是类似的,数据类型,对象方法(或者称之为函数,由于我是个菜鸟所以也数不清楚到底是什么)。
    2010-03-03
  • javascript中的array数组使用技巧

    javascript中的array数组使用技巧

    很多语言把数组作为集合的基础,所以array是学习每一项语言必须掌握的。
    2010-01-01
  • JS和jquery获取各种屏幕的宽度和高度的代码

    JS和jquery获取各种屏幕的宽度和高度的代码

    这篇文章介绍了JS和jquery获取各种屏幕的宽度和高度的代码,有需要的朋友可以参考一下
    2013-08-08

最新评论