2017-04-09 28 views
2

我使用retrofit 2從Web API獲取數據。現在我有一個如下結構:我是否需要爲我的應用程序和其他響應創建不同的模型?

-app 
|-model 
    |-User.java 
|-network 
    |-model 
    |-ApiUser.java 
    |-service 
|-presenter 
|-view 

retrofit將響應轉換爲ApiUser對象。我創建了一個映射器來將ApiUser映射到User對象。我認爲我應該爲我的應用程序使用單獨的模型。我可以使用改造後返回給我的相同模型,但如果我想使用其他服務或數據源,該怎麼辦?然後我會重構我的所有應用程序。網絡下的模型通常與應用模型具有相同的結構。同樣的問題可以應用於數據庫模型和應用程序模型。

所以我想知道什麼是您的應用程序結構使用的最佳做法。

+0

這是基於意見的,我想。一個好的做法是儘快使應用程序工作,並根據需要重構 –

+0

IMO使用相同的模型不僅更清潔,還減少了apk大小。另外,如果使用的API數量非常多,則可以編寫大量的mapper函數。 –

回答

0

一些做法是有這樣的:

  • 您可以與所有將每次來共同應對涉及共同應對模式。
  • 然後,您可以製作單獨的響應模型,這些模型將具有不同的定義,並在此處擴展通用基礎模型。
  • 另一件需要注意的事情是,Retrofit 2根據響應代碼爲您提供了自己的響應成功狀態,因此您無需在API中保持成功狀態,狀態代碼就可以實現。
相關問題