如今backbone、emberjs、spinejs、batmanjs 等MVC架構侵襲而來。CommonJS、AMD、NodeJS、RequireJS、SeaJS、curljs等模組化的JavaScript撲面而來。web前端已經演變成大前端,web前端的發展速度之快。
1)我們來看看什麼是模組化?
模組化是一種將系統分離成獨立功能部分的方法,可將系統分割成獨立的功能部分,嚴格定義模組介面、模組間具有透明性。javascript中的模組在一些C、PHP、java中比較常見:
unity3d指令碼http://www.unitymanual.com
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)附:
內聚度
內聚度指模組內部實現,它是資訊隱藏和局部化概念的自然擴充,它標誌著一個模組內部各成分彼此結合的緊密程度。好處也很明顯,當把相關的任務分組後去閱讀就容易多了。 設計時應該儘可能的提高模組內聚度,從而獲得較高的模組獨立性。
耦合度
耦合度則是指模組之間的關聯程度的度量。耦合度取決於模組之間介面的複雜性,進入或調用模組的位置等。與內聚度相反,在設計時應盡量追求鬆散耦合的系統。
查看本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/webkf/script/