回覆列表
-
1 # 弱爆了的貓
-
2 # 就是勝利堅持
簡稱:MVP 全稱:Model-View-Presenter ;MVP 是從經典的模式MVC演變而來,它們的基本思想有相通的地方:Controller/Presenter負責邏輯的處理,Model提供數據,View負責顯示。作為一種新的模式,MVP與MVC有著一個重大的區別:在MVP中View並不直接使用Model,它們之間的通信是通過Presenter (MVC中的Controller)來進行的,所有的交互都發生在Presenter內部,而在MVC中View會直接從Model中讀取數據而不是通過 Controller。
在MVC裡,View是可以直接訪問Model的!從而,View裡會包含Model信息,不可避免地還要包括一些業務邏輯。在MVC模型裡,更關注的Model的改變,而同時有多個對Model的不同顯示,即View。所以,在MVC模型裡,Model不依賴於View,但是View是依賴於Model的。不僅如此,因為有一些業務邏輯在View裡實現了,導致要更改View也是比較困難的,至少那些業務邏輯是無法重用的。
RealmResult 是proxy對象 只有你call getter setter的時候 才會真正發生disk io 所以為了保證數據一致性 寫入必須通過transaction進行 如果你需要在activity中對對象更改 建議先copy result to normal object 然後再使用 最後傳回你的DAO進行寫入