對服務器返回數據的兼容

目前,服務器端返回的數據,時常會包含null的狀況。客戶端爲作兼容,使得data class中的屬性都定義爲可空類型(?)。這樣會產生一個影響,在業務邏輯實現中,頻繁要編寫判斷空的操做。具體是頻繁使用問好(?),let多層嵌套。避免了空指針異常的同時,也增長了業務邏輯層的可讀性和編寫難度。java

因而,思考在服務器返回數據和業務邏輯層中間,增長一層兼容處理。有若干選項:1,使用java語言編寫數據模型類,這樣在兼容這一層經過反射機制統一判斷,另外由於java的數據模型類在kotlin中被定義爲平臺類型,對於可空的也能夠不使用問好(?)操做。2,使用kotlin編寫data class,每一個屬性基本定位爲可空類型。3,使用kotlin編寫data class類,屬性依然定位儀不可空類型,在兼容層使用kotlin和java的反射機制,對不可空類型可是value是空的狀況,發出error信號走error分支;服務器

最終目的,讓業務邏輯層專心編寫業務邏輯,而由於服務器不可控性致使的時常null狀況,統一放在兼容層處理。大概是 「retrofit -> 兼容處理 -> 業務邏輯」指針

拋磚引玉。it

相關文章
相關標籤/搜索