因為我也是小白,所以只是簡單說下我的看法,和對架構(gòu)的一些不成熟的想法,所以總的來說就是為了吐槽這個架構(gòu)來的。
The Clean Architecture
這是一個外國大神提出來的架構(gòu),主要的理念就是向內(nèi)依賴,簡單來說就是外層用到了內(nèi)層的文件,但是內(nèi)層決不使用外層的文件,所以可以單獨把內(nèi)層提取出來代碼也不會報錯,但是把外層弄出來就肯定不行。
暫時我不討論這個架構(gòu)怎么牛逼,因為我的境界不到····
MVP
這個大家都知道的吧,這幾年很火的,三層架構(gòu),雖然我上一個項目已經(jīng)開始使用了,但是咧,可能認(rèn)知度不夠,寫了很多沒必要的東西, M V P嘛就是M層P層和V層,其實很多界面就是簡單的獲取接口數(shù)據(jù)和填充數(shù)據(jù),中間基本沒有任何的數(shù)據(jù)處理(類似關(guān)于我們頁面),這時候MVP的模式會導(dǎo)致包里面多很多的類,很多的P層接口什么的,我的想法是這種時候P層其實沒有存在的必要。但是有些地方,比如朋友圈啊微博啊的那個動態(tài)列表,涉及到點贊啊評論啊轉(zhuǎn)發(fā)啊這些操作的時候MVP其實又是一種很有必要的模式,雖然一開始會麻煩了點,但是能把各個操作流程都能清晰的理出來,以后的修改啊什么的會方便很多。
所以我的想法就是一個輕型應(yīng)用核心使用MVP模式,但是簡單的界面可以拋棄P層,就好。M層主要負(fù)責(zé)后臺接口數(shù)據(jù)的獲取,V層負(fù)責(zé)顯示就好。這是我理想中的一個快速開發(fā)的模式,不過其中的基類其實很重要,我一直想自己封一個來著,一直沒啥時間,也感覺封出來的不怎么夠用,還是等以后自己再成長一點再說。
吐槽模式
好了我要開始吐槽The Clean Architecture這個東西了,這個是剛進新公司看到的東西,當(dāng)初我一臉懵逼啊,這都是啥,一查是外國很火的架構(gòu),關(guān)鍵詞嘛,向內(nèi)依賴,解耦,看起來不明覺厲···
說下背景,其實我很幸運,三月份打算換工作,剛投簡歷雖然開始沒什么電話,這個說多了都是淚啊,現(xiàn)在工作真的不好找,特別是做android的,都怪培訓(xùn)機構(gòu)···所以啊看著身邊的小伙伴都找到工作走人了,自己還沒有著落,還好最后有兩個電話,而且很幸運的是兩家公司我都是直接面試就拿到offer了,這里說下面試要點,面試咧你要會表達自己的優(yōu)點,表達自己的作品,要說你擅長的東西,而不是等面試官問一句,你答一句,你要充分展示自己才可以。好了來了新公司工作是三個人合作開發(fā)一個類似直播的軟件···但是我是最后一個來的,所以之前別人已經(jīng)搭好框架了,其實這種情況你就要努力適應(yīng)別人的框架然后開發(fā)了···
然而沒想到的是The Clean Architecture這個東西再加上MVP,就相當(dāng)于在M層上面再加了三層數(shù)據(jù)處理吧,當(dāng)初我看著就暈,然而有啥辦法呢,作為一個新人,要做的就是學(xué)習(xí)和做好自己的工作,所以我在努力適應(yīng),其實代碼這東西別人已經(jīng)寫好模版了,你就算不是很能夠理解,跟著模版寫也是能寫出來的。
但是我要吐槽的是,這個直播項目本來就不大,弄了個這么復(fù)雜的架構(gòu),美其名曰好解耦,弄那么高大上干嘛,特別公司要求的是快速開發(fā),結(jié)果咧單單MVP的M層上面居然還有3層這我看來沒啥用的data層domin層這些跳來跳去,要請求個接口都要跨越千山萬水。最坑的還是請求接口的數(shù)據(jù)回來了,正常來說用一個Bean類解析就好,現(xiàn)在我不知道是他搭的框架有問題還是咋的,居然先要這data層解析了在P層還要用一個一摸一樣的換了名字的類把之前的get出來再set進去,然后在V層再用一個樣的重復(fù)一遍,也就是說請求個接口數(shù)據(jù)要用三個一摸一樣的類才能到View來使用,這也是說向內(nèi)依賴來解耦,我心里一萬個草泥馬在奔騰啊····還有咧我是第一次見到有人合并代碼的時候居然一行一行重復(fù)review然后要你重新改正的也是個挑戰(zhàn)···
不過這些事都不是我能改變的,所以只能好好接受然后努力改變了,除了這點新公司的其他人和事我都很滿意,要努力工作~