<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="javascript模块化是什么及其优缺点介绍" id="card1">
<p> 游客</p><p>
标题:javascript模块化是什么及其优缺点介绍<br/>
正文:<br/>
也许你用过诸如backbone、emberjs、spinejs、batmanjs 等MVC框架。然而CommonJS、AMD、NodeJS、RequireJS、SeaJS、curljs等模块化的JavaScript扑面而来。web前端已经演变成大前端，web前端的发展速度之快。 <br/><br/>1)我们来看看什么是模块化？ <br/>模块化是一种将系统分离成独立功能部分的方法，可将系统分割成独立的功能部分，严格定义模块接口、模块间具有透明性。javascript中的模块在一些C、PHP、java中比较常见: <br/><br/>c中使用include 包含.h文件;php中使用require_once包含.php文件 <br/>java使用import导入包 <br/>此中都有模块化的思想。 <br/><br/>2)模块化的优缺点： <br/><br/>a&amp;gt;优点： <br/>可维护性 <br/>1.灵活架构，焦点分离 <br/>2.方便模块间组合、分解 <br/>3.方便单个模块功能调试、升级 <br/>4.多人协作互不干扰 <br/>可测试性 <br/>1.可分单元测试 <br/><br/>b&amp;gt;缺点： <br/>性能损耗 <br/>1.系统分层，调用链会很长 <br/>2.模块间通信,模块间发送消息会很耗性能 <br/><br/>3)最近的项目中也有用到模块化，使用的是seajs,但是当引用到jquery,jquery easyui/或者jquery UI组件时,有可能会用到很多jquery插件，那这样要是实现一个很复杂的交互时，模块间的依赖会很多，使用define（）方法引入模块会很多，不知有么有什么好的方法？ <br/><br/>4)附： <br/>内聚度 <br/>内聚度指模块内部实现，它是信息隐藏和局部化概念的自然扩展，它标志着一个模块内部各成分彼此结合的紧密程度。好处也很明显，当把相关的任务分组后去阅读就容易多了。 设计时应该尽可能的提高模块内聚度，从而获得较高的模块独立性。 <br/><br/>耦合度 <br/>耦合度则是指模块之间的关联程度的度量。耦合度取决于模块之间接口的复杂性，进入或调用模块的位置等。与内聚度相反，在设计时应尽量追求松散耦合的系统。<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=980&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=980&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=980&amp;Page=1">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=980">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=980">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>