Android model層設(shè)計

model層

在開發(fā)app的過程中,不管是使用了mvp還是mvc甚至mvvm模式,model層的設(shè)計基本都是一樣的擦秽,model層可以被稱為數(shù)據(jù)層腌紧,它的主要任務(wù)就是為上層提供各種的數(shù)據(jù)服務(wù)期丰,上層完全不需要關(guān)心這些數(shù)據(jù)是來自網(wǎng)絡(luò)件甥,還是內(nèi)存,還是本地存儲孽锥。

那我們就通過一個時序圖來看下model層的工作流程


8F09B23E-E1C2-44D7-A45D-C37FFD1B8C63.png

上面的時序圖只是反映了數(shù)據(jù)獲取的正常的一個流程嚼黔,根據(jù)業(yè)務(wù)的不同,數(shù)據(jù)到底是從內(nèi)存還是從本地還是從網(wǎng)絡(luò)獲取都是不同的惜辑,有些業(yè)務(wù)會直接從網(wǎng)絡(luò)獲取數(shù)據(jù)唬涧,有些業(yè)務(wù)會根據(jù)本地數(shù)據(jù)的有效期等進(jìn)行判斷到底是從網(wǎng)絡(luò)獲取還是依舊從本地獲取,并且比如從網(wǎng)絡(luò)返回的數(shù)據(jù)盛撑,有些業(yè)務(wù)是不需要存儲在本地和內(nèi)存中的碎节,有些則需要從網(wǎng)絡(luò)獲取到數(shù)據(jù)把本地和內(nèi)存中的數(shù)據(jù)進(jìn)行更新

注意點

從網(wǎng)絡(luò)獲取的數(shù)據(jù)類型異常校驗
看一段從網(wǎng)絡(luò)返回的json數(shù)據(jù)

     {
          "code":0,
          "msg":"ok",
          "data":{
                "age":"",
                "weight":"uy8",
                "name":"null"
          }
    }

上面數(shù)據(jù)中age和weight都是一個int類型值,這時候服務(wù)器返回的確實一個空字符串和一個非數(shù)據(jù)字符串抵卫,假如不做任何處理的話狮荔,app就會奔潰了,name的類型是字符串,但是服務(wù)器卻返回了null介粘,在界面顯示上肯定不友好
因此為了增加app的健壯性殖氏,針對以上的情況,model層就需要對這些異常類型數(shù)據(jù)做處理姻采,不管是Gosn還是其他的解析庫都提供了相應(yīng)的處理方法

網(wǎng)絡(luò)返回實體數(shù)據(jù)類設(shè)計
實體數(shù)據(jù)類的設(shè)計可以有兩種:一種是繼承雅采,一種是使用泛形。
繼承

      public class BaseResponse{
            private int mCode;
            private String mMsg;
      }

      public class UserInfo extends BaseResponse{
            private int mAge;
            private int mWeight;
      }

泛形

      public class Response<T>{
              private int mCode;
              private String mMsg;
              private T mData;
      }

      public class UserInfo{
             private int mAge;
            private int mWeight;
      }

繼承的好處是有一些實體類是需要獲取到code值,不好的地方是其實大部分實體類其實沒必要知道code婚瓜,msg等信息的存在

泛形的好處顯而易見宝鼓,大部分實體類完全不知道code,msg等信息
因此根據(jù)自己的實際業(yè)務(wù)來進(jìn)行使用巴刻,沒有哪種更好愚铡,只有哪種更適合業(yè)務(wù)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市胡陪,隨后出現(xiàn)的幾起案子沥寥,更是在濱河造成了極大的恐慌,老刑警劉巖督弓,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件营曼,死亡現(xiàn)場離奇詭異乒验,居然都是意外死亡愚隧,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進(jìn)店門锻全,熙熙樓的掌柜王于貴愁眉苦臉地迎上來狂塘,“玉大人,你說我怎么就攤上這事鳄厌≤窈” “怎么了?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵了嚎,是天一觀的道長泪漂。 經(jīng)常有香客問我,道長歪泳,這世上最難降的妖魔是什么萝勤? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮呐伞,結(jié)果婚禮上敌卓,老公的妹妹穿的比我還像新娘。我一直安慰自己伶氢,他們只是感情好趟径,可當(dāng)我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著癣防,像睡著了一般蜗巧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蕾盯,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天惧蛹,我揣著相機與錄音,去河邊找鬼。 笑死香嗓,一個胖子當(dāng)著我的面吹牛迅腔,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播靠娱,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼沧烈,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了像云?” 一聲冷哼從身側(cè)響起锌雀,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎迅诬,沒想到半個月后腋逆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡侈贷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年惩歉,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片俏蛮。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡撑蚌,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出搏屑,到底是詐尸還是另有隱情争涌,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布辣恋,位于F島的核電站亮垫,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏伟骨。R本人自食惡果不足惜饮潦,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望底靠。 院中可真熱鬧害晦,春花似錦、人聲如沸暑中。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鳄逾。三九已至稻轨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間雕凹,已是汗流浹背殴俱。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工政冻, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人线欲。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓明场,卻偏偏與公主長得像,于是被迫代替她去往敵國和親李丰。 傳聞我的和親對象是個殘疾皇子苦锨,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,514評論 2 348

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,771評論 25 707
  • 1>集合 Swift 語言提供Arrays、Sets和Dictionaries三種基本的集合類型用來存儲集合數(shù)據(jù)趴泌。...
    單腿行走的大象閱讀 412評論 0 0
  • 想 當(dāng)太陽開始出現(xiàn) 空氣開始溫暖 我看見 奔跑的鳥兒 飛翔的魚兒 還有唱不出美麗的你 和聽不...
    笈荼閱讀 180評論 1 3
  • 小時候舟舒,我以為哥哥寵姐姐愛的小公主是最美妙。無奈那時候長得高嗜憔,好朋友們總叫我帆帆姐姐秃励,傲嬌地攤手臉。 于是我總是充...
    唐四月閱讀 165評論 0 0
  • 每一道美食吉捶,都是用漫長的時間烘焙夺鲜,你品嘗到的流連味道,背后是烘焙人的等待和期待帚稠。
    烏落閱讀 76評論 0 0