1:接上一篇

圖 1
這里我們看到了 除了Manager 上面的都是上層做的事情 Manager對(duì)上層只是提供的一個(gè)你能獲取到我這里的數(shù)據(jù)的這樣的一些接口而已.讓我們看下下層的Manager應(yīng)該是如何設(shè)計(jì)的.
2:Manager 如何設(shè)計(jì)

圖 2
Manager: 他包含了 這個(gè)上面所有需要用到的服務(wù)?
Service: 他 包含了 需要對(duì)外的提供的接口 , 一個(gè)Service 他擁有一個(gè)或者多個(gè)Cache Manager 和 ?Request Manager.?
Cache Manager : 需要被下層所做的一些緩存機(jī)制 比如登錄信息 比如離線點(diǎn)贊 評(píng)論 等
Request Manager: 最原始的接口請(qǐng)求 , ?從服務(wù)器拿取到最原始的數(shù)據(jù).?
下面 我們還是來(lái)看一個(gè)點(diǎn)贊的流程
3:Feed Service 點(diǎn)贊流程

圖 3
這里很明顯 對(duì)上層來(lái)說(shuō) 他只要知道一個(gè)點(diǎn)贊的接口 然后回調(diào)給他成功了就可以了.?
接下來(lái)的事情都是下層去做了. 如點(diǎn)贊請(qǐng)求失敗了,那么依舊在Like Cache Manager 里面, 下次有時(shí)機(jī)的再觸發(fā)點(diǎn)贊的請(qǐng)求.
4:總結(jié)
一般來(lái)說(shuō) 只有和UI無(wú)關(guān)的操作 都可以放在 下層去操作, 畢竟下層做邏輯上處理結(jié)構(gòu)上會(huì)更加簡(jiǎn)單和清晰. 如果你非要拿到上層去讀緩存或者變量修改 , 那會(huì)一件很混亂不討好的事情.?