Clean 構(gòu)架

clean 架構(gòu)是一種"分層架構(gòu)"认烁,源代碼依賴只能由外部指向內(nèi)部肿男,內(nèi)部圈子里人是不知道外部圈子的任何東西的。
特別是聲明在外部圈子中的類却嗡、函數(shù)舶沛、變量或者其他軟件實(shí)體。

image2020-6-21_15-5-29.png

Entities: 表示具體的業(yè)務(wù)規(guī)則
Use Cases: 該層包含應(yīng)用程序特定的業(yè)務(wù)規(guī)則窗价,它封裝并實(shí)現(xiàn)了系統(tǒng)的所有用例如庭。這些用例
決定著實(shí)體中數(shù)據(jù)的流動(dòng)。 這一層的變動(dòng)不應(yīng)該影響到實(shí)體撼港,同時(shí)也不應(yīng)該受到外層的影響坪它。
Presenters: 在這一層骤竹,數(shù)據(jù)從對(duì)實(shí)體和用例最方便的形式轉(zhuǎn)換為方便外部 UI 的格式。我們通常
使用 MVC 往毡、MVP蒙揣、MVVM 等 UI 框架。

在 Android 中應(yīng)用
為保持業(yè)務(wù)規(guī)則對(duì)外部世界一無所知來實(shí)現(xiàn)關(guān)注點(diǎn)分離开瞭,以便在不依賴與外部元素的情況下進(jìn)行測(cè)試懒震,
建議將項(xiàng)目分為 3 個(gè)不同的層次,每次層次都有自己的目的嗤详,與其他層分開工作个扰。每個(gè)層都使用自己的
數(shù)據(jù)模型,因此可以實(shí)現(xiàn)這種獨(dú)立性葱色。

image.png

Presentation Layer

進(jìn)行業(yè)務(wù)視圖的渲染递宅,View 與 動(dòng)畫在這里進(jìn)行交互《玻可以使用 MVP 或 MVVM 來實(shí)現(xiàn)

Domain Layer

所有的業(yè)務(wù)邏輯發(fā)生在這一層恐锣,所有的交互(用例)在這里進(jìn)行實(shí)現(xiàn)。該層是一個(gè)純 Java 模塊舞痰,將不依賴

任何 android 的東西土榴。

Data Layer

應(yīng)用程序所需要的數(shù)據(jù)全部來自這一層,比方說通過 id 從網(wǎng)絡(luò)獲取用戶的信息响牛。

優(yōu)點(diǎn):

  • Independent of Frameworks. 獨(dú)立于框架
  • Testable. 可測(cè)試的
  • Independent of UI. 獨(dú)立于用戶界面
  • Independent of Database. 獨(dú)立于數(shù)據(jù)庫
  • Independent of any external agency. 獨(dú)立于任何外部機(jī)構(gòu)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末玷禽,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子呀打,更是在濱河造成了極大的恐慌矢赁,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贬丛,死亡現(xiàn)場(chǎng)離奇詭異撩银,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)豺憔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門额获,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人恭应,你說我怎么就攤上這事【成觯” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵偶宫,是天一觀的道長(zhǎng)读宙。 經(jīng)常有香客問我楔绞,道長(zhǎng),這世上最難降的妖魔是什么桦锄? 我笑而不...
    開封第一講書人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任结耀,我火速辦了婚禮,結(jié)果婚禮上图甜,老公的妹妹穿的比我還像新娘鳖眼。我一直安慰自己,他們只是感情好矿瘦,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開白布缚去。 她就那樣靜靜地躺著琼开,像睡著了一般。 火紅的嫁衣襯著肌膚如雪搞动。 梳的紋絲不亂的頭發(fā)上改橘,一...
    開封第一講書人閱讀 51,562評(píng)論 1 305
  • 那天飞主,我揣著相機(jī)與錄音,去河邊找鬼。 笑死碾篡,一個(gè)胖子當(dāng)著我的面吹牛筏餐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播穆律,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼峦耘,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼旅薄!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起洛口,我...
    開封第一講書人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤第焰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后樟遣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡豹悬,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年瞻佛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了伤柄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡适刀,死狀恐怖笔喉,靈堂內(nèi)的尸體忽然破棺而出取视,到底是詐尸還是另有隱情常挚,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布折欠,位于F島的核電站锐秦,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏农猬。R本人自食惡果不足惜售淡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望揍堕。 院中可真熱鬧汤纸,春花似錦、人聲如沸楞慈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽令蛉。三九已至,卻和暖如春蝎宇,著一層夾襖步出監(jiān)牢的瞬間祷安,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工汇鞭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留报嵌,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓玄坦,卻偏偏與公主長(zhǎng)得像绘沉,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子车伞,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容