如今backbone、emberjs、spinejs、batmanjs 等MVC框架侵襲而來。CommonJS、AMD、NodeJS、RequireJS、SeaJS、curljs等模塊化的JavaScript撲面而來。web前端已經(jīng)演變成大前端,web前端的發(fā)展速度之快。
1)我們來看看什么是模塊化?
模塊化是一種將系統(tǒng)分離成獨立功能部分的方法,可將系統(tǒng)分割成獨立的功能部分,嚴格定義模塊接口、模塊間具有透明性。javascript中的模塊在一些C、PHP、java中比較常見:
c中使用include 包含.h文件;php中使用require_once包含.php文件
java使用import導(dǎo)入包
此中都有模塊化的思想。
2)模塊化的優(yōu)缺點:
a>優(yōu)點:
可維護性
1.靈活架構(gòu),焦點分離
2.方便模塊間組合、分解
3.方便單個模塊功能調(diào)試、升級
4.多人協(xié)作互不干擾
可測試性
1.可分單元測試
b>缺點:
性能損耗
1.系統(tǒng)分層,調(diào)用鏈會很長
2.模塊間通信,模塊間發(fā)送消息會很耗性能
3)最近的項目中也有用到模塊化,使用的是seajs,但是當引用到j(luò)query,jquery easyui/或者jquery UI組件時,有可能會用到很多jquery插件,那這樣要是實現(xiàn)一個很復(fù)雜的交互時,模塊間的依賴會很多,使用define()方法引入模塊會很多,不知有么有什么好的方法?
4)附:
內(nèi)聚度
內(nèi)聚度指模塊內(nèi)部實現(xiàn),它是信息隱藏和局部化概念的自然擴展,它標志著一個模塊內(nèi)部各成分彼此結(jié)合的緊密程度。好處也很明顯,當把相關(guān)的任務(wù)分組后去閱讀就容易多了。 設(shè)計時應(yīng)該盡可能的提高模塊內(nèi)聚度,從而獲得較高的模塊獨立性。
耦合度
耦合度則是指模塊之間的關(guān)聯(lián)程度的度量。耦合度取決于模塊之間接口的復(fù)雜性,進入或調(diào)用模塊的位置等。與內(nèi)聚度相反,在設(shè)計時應(yīng)盡量追求松散耦合的系統(tǒng)。
新聞熱點
疑難解答
圖片精選