那麼咱們在基於組件開發的時候就主要考慮分析需求。前端
拿到一個需求之後,咱們要作的第一件事情就是理解需求、分析需求、劃分這個需求由哪些組件構成。
組件的劃分沒有特別明確的標準。劃分組件的目的是爲了代碼可複用性、可維護性。只要某個部分有可能複用到別的地方,你均可以把它抽離出來當成一個組件;或者把某一部分抽離出來對代碼的組織和管理會帶來幫助,你也能夠堅決果斷地把它抽離出來。redux
說到底,前端組件化開發以後。能夠很大程度的下降系統各個功能的耦合性,而且提升了功能內部的聚合性。這對前端工程化以及下降代碼的維護難度,是有很大幫助的。
耦合性的下降,提升了系統的伸展性,下降了開發的複雜度,提高開發效率,下降開發成本。
組件封裝的好,加班也少了,bug 也少了,就有更多時間喝喝咖啡、撩撩小姐姐、打打吃雞了。:) 美滋滋。前端工程化
設計組件要遵循一個原則:一個組件只專一作一件事,且把這件事作好。框架
組件化開發的難點。
模塊(組件)之間須要共享數據」,和「數據可能被任意修改致使不可預料的結果」之間的矛盾。這個是前端組件開發須要處理的難點。
基於這個點目前我認爲處理最好的工具就是Redux狀態管理工具。有興趣的同窗能夠移步Redux中文文檔。http://cn.redux.js.org/工具