大型前端項目的架構

將應用程序拆分成許多小組件是很好的做法,但存在某些潛在的問題值得思考:

1.模塊可重用性有多少

一個模塊是否可以獨立存在?如果在你的項目裏隨便找一個模塊,可否讓我直接放在一個新的頁面裏就可以開始運行了呢?你也許會質疑這樣做背後的理由,不過我還是建議你得考慮未來:如果你的公司決定多個應用裏都加入某個相同的功能,是否可以很簡單完成呢?例如,有人說:“我們的用戶很喜歡我們開發的聊天功能,我們把這個功能也放到新的開發的協作應用上吧”。

2.有多少模塊需要依賴其他模塊呢?

他們是很緊密地依賴着嗎?從模塊的粒度來看,我知道不太可能會有個模塊完全不依賴其他的模塊。但在功能粒度級別上,一個功能可以是幾個模塊所構成,而且不需要依賴於任何模塊。

3.如果某模塊失效了,你的應用還能運行嗎?

假設你正在開發一個像Gmail的應用,而你的webmail模塊突然失去作用,這個時候其他部分的UI展示或其他功能,例如聊天模塊,必須還能運行正常。另外,我曾經提過一種動態加載模塊機制,例如在Gmail這個例子裏,當應用初始化啓動後,前提是代碼是不包含聊天模塊,但如果用戶這個時候想到用聊天功能時,應用纔會去開始加載這個聊天模塊的代碼來執行,而且不影響到其他功能。

4.可以很容易地測試每個模塊嗎?

當一個模塊處於百萬數量級的用戶在使用,它很可能就會被重複利用在其他的應用裏,這時候我們必須對他做完整的測試。當模塊獨立存在時,需要被測試,當模塊被引用到應用裏,更需要被測試,這樣纔可保證這模塊的健壯。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章