成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

清潔和新Android架構(gòu)的認(rèn)知訴求-創(chuàng)新互聯(lián)

一個(gè)根本性的變化即將改變Android的核心工作方式。但你為什么要關(guān)心?而且,為什么這是一件好事?讓我們來看看。
Android的新架構(gòu)組件現(xiàn)已正式并固化。毫無疑問,View Models和LiveData等架構(gòu)組件將使Android開發(fā)世界中新手的生活變得更加輕松。

簡陽ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

但是對(duì)于經(jīng)驗(yàn)豐富的開發(fā)人員來說,問題將不可避免地出現(xiàn)在新的架構(gòu)組件如何以及在何處與干凈架構(gòu)的概念一致,正如Bob叔叔所倡導(dǎo)的那樣。

你可能會(huì)問我們?yōu)槭裁匆獡?dān)心干凈的建筑?答案很簡單 - 清潔架構(gòu)基于人類與軟件開發(fā)周期的關(guān)系,這意味著它歸結(jié)為一個(gè)簡單而單一的“關(guān)注點(diǎn)分離”原則。清潔架構(gòu)不僅限于特定的平臺(tái)解決方案,Android Lifecycle的概念及其周圍的解決方案也是如此。

考慮到這個(gè)問題,我想看看谷歌最近的一個(gè)樣本,使用他們的架構(gòu)組件,如何符合清潔架構(gòu)的基本概念。清晰體系結(jié)構(gòu)的核心概念在圖片中進(jìn)行了總結(jié),對(duì)于任何了解這里提出的清潔體系結(jié)構(gòu)的人來說都非常熟悉:
清潔和新Android架構(gòu)的認(rèn)知訴求

清潔架構(gòu)中的核心原則

“內(nèi)圈中的任何東西都不能知道外圈中的某些東西。特別是,外圈中聲明的東西的名稱不能被內(nèi)圈中的代碼所提及。這包括函數(shù),類,變量,或任何其他指定的軟件實(shí)體。“

我拍的樣本是Google 代碼實(shí)驗(yàn)室的“帶有視圖的房間”樣本。

盡管有許多使用方法的清潔架構(gòu)實(shí)現(xiàn),如MVP,MVVM等,它們?yōu)锳ndroid空間提供了可行的解決方案,但我的問題是,如果我們能夠維護(hù)清潔架構(gòu)的核心概念,那就是:“內(nèi)部圓圈中的代碼不得提及外部圓圈中聲明的內(nèi)容的名稱“不帶任何框架,只需使用Android體系結(jié)構(gòu)組件即可。

“帶有視圖的房間”是一個(gè)簡單的應(yīng)用程序,它列出了數(shù)據(jù)庫中的單詞,并允許您添加新單詞。

應(yīng)用程序中有八個(gè)類:

1.MainActivity

  1. NewWordActivity
    3.Word
  2. WordDao
    1. WordListAdapter
  3. WordRepository
  4. WordRoomDatabase
    1. WordViewModel
      沒有太大困難,我可以實(shí)現(xiàn)理想的組織,成功率約為90%:
      清潔和新Android架構(gòu)的認(rèn)知訴求

一些擔(dān)憂

在 LiveData 作為一個(gè)元素不會(huì)在組織的任何地方出現(xiàn)。雖然確實(shí) LiveData 是一個(gè)設(shè)施/機(jī)制,但它不是政策意義上的實(shí)體。

干凈的架構(gòu)說,“外圈是機(jī)制。內(nèi)圈是政策?!?在此基礎(chǔ)上,它將DB放在最外層。但是,如果不打破核心原則,我無法將DB放在外圈。

我知道這更多地表明當(dāng)前技術(shù)中的數(shù)據(jù)庫如何變得更加廣泛,而不是實(shí)現(xiàn)細(xì)節(jié)。

我唯一關(guān)注的另一個(gè)問題是,當(dāng)ViewModel 坐在UI控制器中時(shí),關(guān)注細(xì)節(jié)的分離感 ,而 ListAdapter 應(yīng)該處理顯示的數(shù)據(jù)。適配器能夠觀察任何變化的視圖模型。如果我們這樣做,那么我們可以說適配器幾乎決定了從存儲(chǔ)庫端顯示的數(shù)據(jù)。UI負(fù)責(zé)維護(hù)組件的正確UI外觀。考慮到這一點(diǎn),我在適配器中移動(dòng)了視圖模型,它向UI公開了一個(gè)額外的方法“insert(..)”。修改后的代碼在這里:ViewModel的房間。

通過這樣做,我可以更清楚地了解干凈的架構(gòu)圈子,它 LiveData 是存儲(chǔ)庫使用的內(nèi)部工具
清潔和新Android架構(gòu)的認(rèn)知訴求

結(jié)論

Android清潔架構(gòu)是一個(gè)可以在沒有大量框架的情況下實(shí)現(xiàn)的目標(biāo),只要我們專注于關(guān)注的認(rèn)知分離,以及測試設(shè)施,它在Kotlin中變得更加語言驅(qū)動(dòng),而不會(huì)打擾關(guān)于工具和設(shè)施的性質(zhì)。我們始終堅(jiān)持這樣的原則:“總的來說,你走的越遠(yuǎn),軟件就越高?!?更高級(jí)別僅僅意味著更具包容性,就像現(xiàn)在的數(shù)據(jù)庫實(shí)現(xiàn)一樣。我們不再關(guān)心它是什么類型的DB,只要它保持暴露的接口完好無損。由于開源的能量,我們可以通過認(rèn)知鏡頭看到今天的工具,而不是將我們的手和思想聯(lián)系起來。反過來,這也使得開源移動(dòng)得更快。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

新聞標(biāo)題:清潔和新Android架構(gòu)的認(rèn)知訴求-創(chuàng)新互聯(lián)
瀏覽地址:http://jinyejixie.com/article46/ccpohg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站網(wǎng)站設(shè)計(jì)、微信公眾號(hào)營銷型網(wǎng)站建設(shè)、建站公司網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
清镇市| 鲁山县| 焉耆| 宁波市| 吴旗县| 苏尼特左旗| 滨州市| 隆安县| 华容县| 闽清县| 紫云| 香港 | 年辖:市辖区| 鄯善县| 宾川县| 巴林右旗| 方山县| 邵东县| 横峰县| 嘉义县| 稻城县| 竹溪县| 兰州市| 洪泽县| 博罗县| 壤塘县| 会东县| 柯坪县| 崇文区| 五原县| 明光市| 新余市| 鹤峰县| 镇平县| 沈丘县| 于都县| 九台市| 杭锦后旗| 杂多县| 志丹县| 广东省|