我在实际使用中发现,P层除了请求网络,然后把请求回来的数据解析成JavaBean,然后传递给V层,然后就发现没他什么事了,非常尴尬.
难道写一个P层只是为了用来请求网络吗?
求大神轻喷..
菜鸟想在这里请教一下,MVP中的P层 ,应该去履行哪些职责?
大家讲道理2017-04-18 09:17:44
P 層是聯結 model 和 view 的。
資料載入在model層,P層呼叫model層的方法
效果顯示在view層處理,P層呼叫model層的方法,拿到資料後再與view層交互,這樣的解釋不知道是否清楚。
伊谢尔伦2017-04-18 09:17:44
p層主要任務就是處理各種邏輯啊
我覺得mvp缺點之一就是要寫很多的介面很多程式碼。如果一個activity要做的任務夠少(例如只有一個listview 請求一下網路)完全可以把邏輯直接寫在activity裡,沒必要強行mvp
伊谢尔伦2017-04-18 09:17:44
我覺得關於資料方面(包括網路請求及JSON解析)應該放在V層,設定個回呼介面將處理好的資料給P層,如果資料需要更新到V層,則由P層推送過去由V層渲染。 (新手之言)
PHP中文网2017-04-18 09:17:44
presenter
主要是做逻辑层,你说的数据加载这些被许多人称为Model
層,presenter只是對各種各樣的邏輯進行控制,如果你可以看一下這個視頻和 github 上的 google 開源的 sample
高洛峰2017-04-18 09:17:44
Presenter就是協調View和Model的, 直覺的感受就是V-M之間的控制邏輯.
Model改變了透過Presenter回調給View;View改變了透過Presenter回調給Model; 這樣Model和View沒有緊密耦合, 一定程度提高了封裝性和復用價值,這一點比MVC要強...
PHP中文网2017-04-18 09:17:44
Presenter簡單來說就是View和Model之間的橋樑,一方面,在View中呼叫Presenter的方法實作邏輯控制,然後Presenter去呼叫Model中的方法去執行具體的資料請求工作,然後透過回調,由Presenter傳給View,渲染資料。我覺得你需要兩個例子去體會下MVP模式,推薦兩個:
1、StylishMusic
2、LookLook