在實(shí)際的使用中應(yīng)該注意的是:
1.不要死板的按照這個(gè)框架,不是任何View都需要一個(gè)Presenter,有些View可能只是個(gè)很簡(jiǎn)單的頁(yè)面,再去寫(xiě)個(gè)Presenter就真的為了框架而框架了,這時(shí)候框架對(duì)你的開(kāi)發(fā)起到的反而是阻礙作用。
2.注意Presenter持有View導(dǎo)致的內(nèi)存泄露問(wèn)題,因?yàn)槎呤菑?qiáng)依賴關(guān)系,所以在View相應(yīng)的生命周期對(duì)Presenter進(jìn)行綁定和解綁,也可以通過(guò)若引用來(lái)持有View對(duì)象,但我覺(jué)的這是可以自己來(lái)避免的,用若引用來(lái)處理的方式是一種不好的思想。
MVP搭建的縱向的框架,橫向的分割依據(jù)AOP面向切面的思想,主要是提取出共用方法作為一個(gè)單獨(dú)的Util,這些Util會(huì)在App整體中穿插使用。很多人的App都會(huì)引入自己封裝的Jar包,封裝了包括文件、JSON、SharedPreference等在內(nèi)的常用操作,自己寫(xiě)的用起來(lái)順手,也大幅度降低了重復(fù)作業(yè)。
項(xiàng)目劃分方式
框架搭好后,還需要好的分包方式來(lái)管理,我偏向于先根據(jù)模塊劃分,然后在不同的模塊里在再按邏輯劃分。這樣可以很好的使項(xiàng)目模塊化,而且開(kāi)發(fā)的時(shí)候更方便。
不要畏懼構(gòu)架,也不要過(guò)度設(shè)計(jì),具體過(guò)度設(shè)計(jì)的度,可能就需要經(jīng)驗(yàn)了,但不實(shí)踐,永遠(yuǎn)也不會(huì)有這個(gè)經(jīng)驗(yàn)。
知天氣即將開(kāi)源,敬請(qǐng)期待