1. 程式人生 > >前端模組化、元件化開發

前端模組化、元件化開發

使用過ReactJS進行Web UI的元件化開發,和使用過AngularJS的雙向資料繫結和模組化後,感覺到了元件化、模組化、雙向資料繫結對Web前端開發的重要性。
1、元件化可以極大提高前端程式碼的可維護性,前端的元件化簡單的可以理解為一塊HTML元素和一段JS程式碼組成,該段JS程式碼只負責維護該塊HTML元素的樣式,元件封裝自己的屬性和行為,並對外提供介面供其他元件訪問自己的狀態。

2、雙向資料繫結是AngularJS的核心”以資料為中心”的一個樣例,這裡面也牽扯到了AngularJS的controller,一個controller開闢一個函式作用域,每個controller + UI就構成了一個元件,controller負責維護自己所管轄的UI元素的資料。整個頁面就是有多個這樣的元件構成。元件可以巢狀。

在JSRM中做過很多頁面開發後,剛開始時用jquery寫程式碼覺得很容易,程式碼一直是在末尾不斷增加,雖然有時候簡單的畫了個分界線標識來做function()分類,比如這一塊的函式是負責哪一塊頁面的,另外一塊的函式又是負責哪一塊頁面的。這樣做很簡單,直觀,但是當代碼多時,尤其是函式之間相互呼叫時,這樣寫程式碼的弊端就凸顯了:1、函式之間調來調去,多調幾次都不知道跑哪裡去了,前面做的分界標識感覺不合理了,不應該那麼分界了 2、設定全域性變數來解決函式,不同的函式都對同一個全域性變數進行修改,最後要使用的時候不知道該全域性變數到底處於什麼值狀態 3、等需求變更時,或者發現bug時去修改程式碼,發現程式碼之間耦合性太高,相互依賴,結果改起來牽一髮而動全身,非得把全部程式碼讀懂才敢去該,這違背了軟體設計中的可拓展性和可維護性。

元件化是解決以上問題的辦法:
1、不應該以函式作為程式碼分塊,而應該以元件作為程式碼組織的方法。
2、元件就類似於Java中的物件,每一個元件有單獨的作用域來封裝自己的屬性和行為,對於公共的屬性和方法則提供介面供外部訪問,因此就不需要設定全域性變量了。
3、模組化和元件化就是幫助實現分離職責和解耦合的,因此在程式碼中要儘可能的封裝元件,劃分模組,這樣後面回來改程式碼時一目瞭然,能快速找到要修改的元件,並能儘可能少的改動前面的程式碼。

相關推薦

前端模組元件開發

使用過ReactJS進行Web UI的元件化開發,和使用過AngularJS的雙向資料繫結和模組化後,感覺到了元件化、模組化、雙向資料繫結對Web前端開發的重要性。 1、元件化可以極大提高前端程式碼的可維護性,前端的元件化簡單的可以理解為一塊HTML元素和一段

模組元件外掛的區別 來自鄉巴佬的理解

借鑑自https://blog.csdn.net/cdecde111/article/details/78705386模組化使用者模組-線上商城模組-o2o模組-購物車模組。。。元件化一個app分多個module。主module會在gradle中implimentation本

外掛模組元件熱修復增量更新Gradle

1,對熱修復和外掛化的理解2,外掛化原理分析3,模組化實現(好處,原因)4,熱修復,外掛化5,專案元件化的理解答:什麼是元件化開發?個人理解是一種高內聚低耦合的開發模式。在移動開發裡,它將一個大功能整體進行拆分,分別進行單獨除錯,最後再合併打包我向大家極力推薦使用元件化。因為

模組元件和外掛

單工程模式 移動開發誕生,我們開發移動專案,我相信大多用的是單工程單任務的開發模式,二話不說,直接就開始寫起,是不是這樣呢? new Project -> 分包 -> 寫起。我相信都經歷過,也寫的比較爽,為什麼呢? 這種模式不涉及亂七八糟的處理方式,

Android外掛元件

轉載僅供本人存檔及後續研究使用,請尊重原創。 轉載自:https://blog.csdn.net/qq941263013/article/details/82864553   如今移動app市場已經是百花齊放,其中有不乏有很多大型公司、巨型公司都是通過app創業發展起來的;ap

Android模組開發元件開發

模組化開發:優點嘛,專案過大時便於管理; 1、在根目錄的gradle.properties檔案下新增 isBuildModule=false; 使用isBuildModule來控制這個是Library還是獨立的APP; 2、建立一個新的Module,在其build.gra

元件模組外掛

模組化 模組化開發將一個程式按照其功能做拆分,分成相互獨立的模組,以便於每個模組只包含與其功能相關的內容。模組我們相對熟悉,比如登入功能可以是一個模組,搜尋功能可以是一個模組,汽車的傳送機也可是一個模組。   元件式開發基於可重用的目的,將一個大的軟體系統按照分離關注點的形式,拆分成多個獨立的

Android模組元件開發簡單理解(一)

模組化和元件化可以理解為同一個概念: 將一個app分成多個模組,每個模組都是一個元件(module),開發過程中讓這些元件相互依賴或者單獨除錯某個元件。在釋出的時候將這些元件合併成一個apk。 Android元件化我的理解是 application與library之間相互

Android 開發:由模組元件(一)

在Android SDK一文中,我們談到模組化和元件化,現在我們來聊聊元件化開發背後的哪些事.最早是在廣告SDK中應用元件化,但是同樣適用於普通應用開發以下高能,請做好心理準備,看不懂請發私信來交流.本文不推薦新手閱讀,如果你剛接觸Android開發不久,請立刻放棄閱讀本文.

iOS元件外掛模組之路(一)

前言:公司一年多的小專案,進行專案拆分,要求是每個業務模組都可以單獨打包。在開發過程中,如:酒店模組,只修改酒店單元,測試也只測試酒店部分。模組間相互不干擾,就有了,今天元件化之路。 一、元件化的目的。 說是元件化,其實更多的是模組化,對模組之間相互之間不干

前端面試題(二)----前端模組元件的區別和聯絡

前端元件化開發和模組化開發的區別 之前一直以為模組化開發和元件化開發是一個意思,有次看到了類似這樣的題,發現自己還是太年輕,現在整理一點出來。 首先,元件化和模組化的意義都在於實現了分治,目前我們開發的專案複雜度不斷的上升,早已不是我們一個人能完成的工作,團

vue框架的設計思想--漸進輕量資料驅動元件自底向上

vue是一套用於構建使用者介面的漸進式框架 參考:https://blog.csdn.net/tangxiujiang/article/details/79594860 https://blog.csdn.net/weixin_41049850/article/details/79431

iOS 解藕元件最佳實踐

iOS 解藕、元件化最常用的是使用統跳路由的方式,目前比較常用的 iOS 開源路由框架主要是JLRoutes、MGJRouter、HHRouter等,這些路由框架各有優點和缺點,基本可以滿足大部分需求。目前最常用來作路由跳轉,以實現基本的元件化開發,實現各模組之間的解藕。但是,在實際中開發中會發現,無法徹底使

Router:一款單品元件外掛全支援的路由框架

簡介 由於現在已經有很多各種各樣的路由框架了,所以在這裡。我也不再贅述什麼是路由?路由框架的意義是什麼之類的了。 特性 安全: 路由啟動過程中。全程catch住異常並通知使用者。完全不用擔心crash問題。 強大的攔截器功能:與大部分的路由不同。提供三種路由攔截器機制

模組元件?外掛?熱更新?熱修復?

如今面對Android開發,市面上各種xx化的詞彙,你都明白嗎? 各種化,模組化、元件化、外掛化、熱更新、熱修復…… 模組化:專案按照獨立的模組進行劃分 元件化:將專案按照單一的元件來進行劃分結構 模組化與元件化的差別在於顆粒度,

前端為什麼要使用元件的思想,通過一個例項來分析

在平時專案中,為什麼我們都會採用元件化的思想去編寫程式碼? 其實的原因很簡單!!! 我們在寫程式碼的時候,寫完以後發現這個程式碼會出現在其他地方,想要複用,或者同事感興趣,想使用這個程式碼。這個時候我們就需要通過元件化來實現程式碼的複用了,否則工作量真

模組元件再到外掛

控制反轉,依賴注入: 耦合結構和解耦結構 目前我的專案的結構如下圖所示,因為intent跳轉和一些資料共享的關係導致的。 解耦合之後的結構: 解耦思想 控制反轉是一種思想 依賴注入是一種設計模式 IoC框架使用依賴注入作為實現控制反轉的方式

Android模組元件--多模組區分編譯

模組化與元件化–多模組區分編譯 有時我們一個專案中存在多個產品形態,且不同產品需要不同的編譯環境,這是模組化元件化的基礎。最普通的情況便是在主模組裡面加入渠道統計,但此時如果我們有多個Library,多種產品形態的主模組需要編譯多種產品形態的Library

我理解的模組元件

先天殘疾,後天畸形。 前言:一直以來,這塊總是模模糊糊,搞不懂到底是什麼,整理成文字,理下思路,想到哪裡寫到哪裡。 web之初: 誕生之處應用比較簡單,後端掌控一切,所以,直接後臺人員寫就好了。Html css js 沒有模組化這個概念。導

【React】歸納篇(三)模組元件以及模組元件-概念與基本使用

慨念 模組:向外提供特定功能的JS檔案,便於複用JS,簡化JS,提升JS效率 資料、對資料的操作(函式)、將想暴露的私有的函式向外暴露(暴露的資料型別是物件) 模組化:形容專案編碼方式,即按