www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 芯聞號 > 充電吧
[導讀]Atitit ?依賴管理之道1. 概念 依賴管理,是指在什么地方以什么形式引入外部代碼。 11.1.1. 理解模塊化和依賴管理: 11.2. 依賴管理,有三個層面。?單一職責原則,協(xié)議對象引用,依賴邏

Atitit ?依賴管理之道

1. 概念 依賴管理,是指在什么地方以什么形式引入外部代碼。 1

1.1.1. 理解模塊化和依賴管理: 1

1.2. 依賴管理,有三個層面。?單一職責原則,協(xié)議對象引用,依賴邏輯關系 2

2. 五大數(shù)據(jù)解耦?視圖、數(shù)據(jù)模型、網(wǎng)絡請求、本地存儲、頁面跳轉五塊代碼 2

3. Maven 2

4. Maven最佳實踐:管理依賴 1 3

4.1. 最簡單的依賴 2 4

4.2. 依賴歸類 2 4

4.3. 依賴范圍(scope) 3 4

4.4. 分類器(classifer) 5 4

4.5. 依賴管理(dependencyManagement) 6 4

5. 與其他工具的區(qū)別 4

5.1. Ruby的gem,Node的npm,Python的pip,iOS的CocoaPods都類似,只是配置文件語法和坐標命名規(guī)則有些差異。 4

5.2. App store 4

6. 依賴管理工具,設計 4

7. 組合層次?fun》jobj,pkg,namespae,modu 5

8. 參考資料 5

?

1.?概念 依賴管理,是指在什么地方以什么形式引入外部代碼。

?

依賴管理為什么重要呢? 因為,依賴在哪里,處理代碼就會那里,而bug也就會出現(xiàn)在那里。 于是,反過來,為了讓bug集中,就需要讓處理代碼集中,也就需要管理好代碼的依賴關系。

1.1.1.?理解模塊化和依賴管理:

·?應用一般都會依賴外部庫(jQuery和AngularJs),這些庫應該使用包管理器處理和更新,而不是手動下載。

·?應用本身也可以分解成為多個相互交互的小部分,學習封裝代碼的技能,把代碼視作自成一體的組件,學習如何設計優(yōu)秀的接口,如何安排接口;學習如何隱藏數(shù)據(jù),只開放用戶需要的部分。

·?如何解析依賴,避免手動維護一組有序的script標簽。

?

1.1.?依賴管理,有三個層面。?單一職責原則,協(xié)議對象引用,依賴邏輯關系

1?相同的代碼,只出現(xiàn)在一個地方,也叫單一職責原則。

2?通過引用協(xié)議對象,讓依賴關系中的組件更容易更換。

3?從邏輯上安排依賴關系,讓依賴關系更容易被人理解。

單一職責原則,是最基本的原則。它是代碼模塊化,設計模式的根本。

協(xié)議對象引用,使得功能變更時,只需要在一個統(tǒng)一的地方做最少的修改。

依賴邏輯關系,則主要是為了更方便人腦去理解代碼之間的關系。

?

2.?五大數(shù)據(jù)解耦?視圖、數(shù)據(jù)模型、網(wǎng)絡請求、本地存儲、頁面跳轉五塊代碼

?

3.?Maven

Atitit maven使用總結attilax總結.docx

atitit 項目管理 ?package 模塊管理 maven attilax總結.docx

?

Maven誕生于2004年(來源維基),查詢了下,應該是各語言的依賴管理工具中早的。Ruby的gem也是2004年出現(xiàn)的,但gem離完備的依賴管理工具還差些,直到Ruby的bundler出現(xiàn)。Python的pip出現(xiàn)的更晚。

Maven的習慣是通過 groupID(一般是組織的域名倒寫,遵循Java package的命名習慣)+ artifactId(庫本身的名稱) + version(版本)來定義坐標,通過xml來做配置文件,提供了中心倉庫(repo.maven.org)以及本地工具(mvn)。

依賴定義:????repo定義:???

同時,為了避免依賴沖突的問題,Maven的依賴配置提供了exclude配置機制,用于阻斷部分庫的傳遞依賴。

?

?

4.?Maven最佳實踐:管理依賴 1

Maven最佳實踐:管理依賴 1

4.1.?最簡單的依賴 24.2.?依賴歸類 24.3.?依賴范圍(scope) 34.4.?分類器(classifer) 54.5.?依賴管理(dependencyManagement) 65.?與其他工具的區(qū)別5.1.?Ruby的gem,Node的npm,Python的pip,iOS的CocoaPods都類似,只是配置文件語法和坐標命名規(guī)則有些差異。5.2.?App store6.?依賴管理工具,設計

1.要有一種依賴庫的命名規(guī)則,或者叫坐標(Coordinates)的定義規(guī)則,可以通過坐標準確找到依賴的庫。

2.要有對應的配置文件規(guī)則,來描述和定義依賴。

3.要有中心倉庫保存這些依賴庫,以及依賴庫的元數(shù)據(jù)(metadata),供使用方拉取。

4.還需要一個本地工具去解析這個配置文件,實現(xiàn)依賴的拉取。

以上其實就是各依賴管理工具的核心要素。

?

7.?組合層次?fun》jobj,pkg,namespae,modu

function用于組合代碼塊邏輯,有了object用于組合一組方法,有了package,namespace用于組合一組相關對象,但其實還需要有更高一個層次的組合定義 —– module,或者叫子項目

?

8.?可選擇性依賴

的另一個原因,是Android 框架已經(jīng)提供了一種解決方案,但是某個外部庫提供的解決方案性能更好。如果用戶本就依賴于該外部庫,或者愿意增加方法數(shù)量以獲得更好的性能,就可以添加可選擇性依賴。

我最近看到的PlacesAutocompleteTextView庫,就屬于這種情況。該庫使用的內部 HTTP 客戶端,既可以是 OkHttpClient,也可以是 HttpURLConnection。通常,前者的性能更好,但是需要添加?OkHttp?作為依賴。 如果用戶不想包含該依賴,可以自動從標準庫回退到 HttpURLConnection。

該類被加載時,會檢查 OkHttpClient 的完全限定類名是否可用。如果拋出 ClassNotFoundException,我們就知道用戶沒有添加 OkHttp,于是回退到 HttpURLConnection。PlacesHttpClient 是包裝以上兩種實現(xiàn)方式的公共接口,因此在整個代碼庫中,這兩種實現(xiàn)方式可以交換使用。JSON 解析也采用了同樣的方法,Gson?可選擇性地作為依賴包含在庫中。

如果性能表現(xiàn)與庫的大小之間的權衡系數(shù)很大,這個方法確實不錯。但是,如果回退的實現(xiàn)方式比較困難(比如 JSON 解析就是這種情況),筆者建議你先使用外部庫來節(jié)省時間,在后續(xù)的版本中再考慮添加回退實現(xiàn)。

?

9.?參考資料

漫談依賴管理工具:從Maven,Gradle到Go_TechWeb.mhtml

漫談依賴管理工具:從Maven,Gradle到Go_TechWeb.mhtml

Maven最佳實踐:管理依賴 - 飛龍在天001 - 博客園.mhtml

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉