解耦與拆分

最近公司做了一個需要拆分SDK的項目,所以涉及了很多拆分的內(nèi)容,加之有比較多解耦的工作,所以想聊一聊解耦與Java拆分的一些小心得。

背景

因為部分模塊中部分功能需要拆分,但是絕大部分是不需要的,還有很多依賴模塊需要基礎(chǔ)添加,所以這項工作看起來非常巨大,并沒有辦法直接拆分。SDK盡可能的小,并且需要減少相互之間的依賴。

解耦

在拆分SDK的過程中最先做的應(yīng)該就是解耦——業(yè)務(wù)功能性拆分。將業(yè)務(wù)代碼先都拆分到新項目中,這些代碼是最頂層的東西,這個時候肯定會有很多文件都會爆紅,不要擔心,添加依賴其實是下一個步驟的事情。

解耦還需要做那些事情?

接下來就需要分離業(yè)務(wù)代碼以及拆分的依賴代碼,需要新建一個依賴目錄 例如報名:com.tzduan.demo.sdk.base,可以看出相對應(yīng)的業(yè)務(wù)代碼應(yīng)該在com.tzduan.demo.sdk.business下面。這樣做是為了便于之后的維護,依賴與業(yè)務(wù)拆分,避免業(yè)務(wù)開發(fā)人員一不小心修改依賴的代碼。

拆分

在代碼文件爆紅之后,其實就是一個漫長又無聊的過程了,講爆紅的文件一個一個的添加到拆分SDK中,使他們不再爆紅。這個過程非常的無腦,但是有一個好處,就是可以保證不會將非本次業(yè)務(wù)的代碼移動出來,又避免了重新開放一份代碼的重復(fù)造輪子的過程。這期間需要注意的是,依賴文件很有可能是互相依賴的,他們其中的方法很有可能相互引用,導(dǎo)致變相包過大,所以只需要引入業(yè)務(wù)使用的方法就好,并不要將所有的文件都引入。

拆分tips

因為引入了好多的文件,也稍微有點小心得:
一開始在demo程序中不要依賴SDK module
因為不依賴SDK module的時候你的demo也是可以跑的
在添加依賴的時候先添加資源文件
因為先添加資源文件依賴后,ide可以通過sync不對資源文件報錯
在添加java文件或者Kotlin文件的時候,先添加Model文件,然后view文件,presenter文件,最后添加util部分
model比較單一,util關(guān)聯(lián)的文件過多,所以最后添加

最后拆分過程

上面都是講我這次拆分的思想,最后我想分享一下我這次拆分的過程:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,167評論 25 708
  • 1、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,211評論 3 119
  • 感恩早上早早起床。卡卡也提前起床我哦的每個人都在努力的適應(yīng)更早的時間來起床,感恩全家一起努力 感恩早上海洋的早餐,...
    能量團隊閱讀 220評論 0 0
  • 就這樣吧 關(guān)于生存 我還是不能照顧好自己 就這樣吧 關(guān)于愛情 我依然很年輕 就這樣吧 生命有太多無常 我想寫會字
    會疼這思念閱讀 168評論 3 0

友情鏈接更多精彩內(nèi)容