因為我也是小白,所以只是簡單說下我的看法空另,和對架構(gòu)的一些不成熟的想法腋么,所以總的來說就是為了吐槽這個架構(gòu)來的顽耳。
The Clean Architecture
這是一個外國大神提出來的架構(gòu),主要的理念就是向內(nèi)依賴,簡單來說就是外層用到了內(nèi)層的文件拘鞋,但是內(nèi)層決不使用外層的文件砚蓬,所以可以單獨把內(nèi)層提取出來代碼也不會報錯,但是把外層弄出來就肯定不行盆色。
暫時我不討論這個架構(gòu)怎么牛逼灰蛙,因為我的境界不到····
MVP
這個大家都知道的吧,這幾年很火的隔躲,三層架構(gòu)摩梧,雖然我上一個項目已經(jīng)開始使用了,但是咧宣旱,可能認知度不夠仅父,寫了很多沒必要的東西, M V P嘛就是M層P層和V層响鹃,其實很多界面就是簡單的獲取接口數(shù)據(jù)和填充數(shù)據(jù)驾霜,中間基本沒有任何的數(shù)據(jù)處理(類似關(guān)于我們頁面),這時候MVP的模式會導致包里面多很多的類买置,很多的P層接口什么的粪糙,我的想法是這種時候P層其實沒有存在的必要。但是有些地方忿项,比如朋友圈啊微博啊的那個動態(tài)列表蓉冈,涉及到點贊啊評論啊轉(zhuǎn)發(fā)啊這些操作的時候MVP其實又是一種很有必要的模式,雖然一開始會麻煩了點轩触,但是能把各個操作流程都能清晰的理出來寞酿,以后的修改啊什么的會方便很多。
所以我的想法就是一個輕型應用核心使用MVP模式脱柱,但是簡單的界面可以拋棄P層伐弹,就好。M層主要負責后臺接口數(shù)據(jù)的獲取榨为,V層負責顯示就好惨好。這是我理想中的一個快速開發(fā)的模式煌茴,不過其中的基類其實很重要,我一直想自己封一個來著日川,一直沒啥時間蔓腐,也感覺封出來的不怎么夠用,還是等以后自己再成長一點再說龄句。
吐槽模式
好了我要開始吐槽The Clean Architecture這個東西了回论,這個是剛進新公司看到的東西,當初我一臉懵逼啊分歇,這都是啥傀蓉,一查是外國很火的架構(gòu),關(guān)鍵詞嘛卿樱,向內(nèi)依賴僚害,解耦,看起來不明覺厲···
說下背景繁调,其實我很幸運萨蚕,三月份打算換工作,剛投簡歷雖然開始沒什么電話蹄胰,這個說多了都是淚啊岳遥,現(xiàn)在工作真的不好找,特別是做android的裕寨,都怪培訓機構(gòu)···所以啊看著身邊的小伙伴都找到工作走人了浩蓉,自己還沒有著落,還好最后有兩個電話宾袜,而且很幸運的是兩家公司我都是直接面試就拿到offer了捻艳,這里說下面試要點,面試咧你要會表達自己的優(yōu)點庆猫,表達自己的作品认轨,要說你擅長的東西,而不是等面試官問一句月培,你答一句嘁字,你要充分展示自己才可以。好了來了新公司工作是三個人合作開發(fā)一個類似直播的軟件···但是我是最后一個來的杉畜,所以之前別人已經(jīng)搭好框架了纪蜒,其實這種情況你就要努力適應別人的框架然后開發(fā)了···
然而沒想到的是The Clean Architecture這個東西再加上MVP,就相當于在M層上面再加了三層數(shù)據(jù)處理吧此叠,當初我看著就暈纯续,然而有啥辦法呢,作為一個新人,要做的就是學習和做好自己的工作杆烁,所以我在努力適應牙丽,其實代碼這東西別人已經(jīng)寫好模版了简卧,你就算不是很能夠理解兔魂,跟著模版寫也是能寫出來的。
但是我要吐槽的是举娩,這個直播項目本來就不大析校,弄了個這么復雜的架構(gòu),美其名曰好解耦铜涉,弄那么高大上干嘛智玻,特別公司要求的是快速開發(fā),結(jié)果咧單單MVP的M層上面居然還有3層這我看來沒啥用的data層domin層這些跳來跳去芙代,要請求個接口都要跨越千山萬水吊奢。最坑的還是請求接口的數(shù)據(jù)回來了,正常來說用一個Bean類解析就好纹烹,現(xiàn)在我不知道是他搭的框架有問題還是咋的页滚,居然先要這data層解析了在P層還要用一個一摸一樣的換了名字的類把之前的get出來再set進去,然后在V層再用一個樣的重復一遍铺呵,也就是說請求個接口數(shù)據(jù)要用三個一摸一樣的類才能到View來使用裹驰,這也是說向內(nèi)依賴來解耦,我心里一萬個草泥馬在奔騰啊····還有咧我是第一次見到有人合并代碼的時候居然一行一行重復review然后要你重新改正的也是個挑戰(zhàn)···
不過這些事都不是我能改變的片挂,所以只能好好接受然后努力改變了幻林,除了這點新公司的其他人和事我都很滿意,要努力工作~