2015-06-08 13 views
1

對不起,我的英文語法。我的問題有點愚蠢,但我想清楚地瞭解MVP模式在實際應用中的應用。如何將MVP模式應用到android項目

我正在開發一個android項目。我想將MVP模式應用於我的項目。我指的是這個演示:

https://github.com/antoniolg/androidmvp

我很高興能與這種模式。但在這個演示項目中,我看到每個活動(一個視圖),我們總是有一個演示者和一個交互者(模型)等等。所以在有很多屏幕的項目中:

  • 我該如何管理演示者和模型。

  • 通過每個活動(例如LoginActivity),我創建一個「登錄」 包,並將所有演示者和模型放入其中。可以嗎?

  • 有人可以給我一個小的應用程序源代碼使用MVP 模式。 (不是演示項目)。

+0

要理解爲Android看到MVP模式 - [MVP的Android(HTTP:// WWW .singhajit.com/mvp-in-android) –

回答

1

我會說一些不是很有用的東西,但它取決於項目和你:-)。就我個人而言,我擁有頂級子包 - 主持人,視圖,模型。我們正在將這些類放入其中。原因是在大多數情況下,該模型是整個應用程序的一個模型。還有一些情況(我知道他們很少見),當一些演講者可能會共享一個和相同的視圖。

親切的問候

+0

感謝您的回答。你可以給我一個Github的小項目嗎?在某些地方可以像你一樣使用MVC模式。 – CodeMonster

1

很少從我的最終意見和建議:

1:爲您的文件使用正確的文件夾結構。

com.app.<appname>.activities 
com.app.<appname>.fragments 
com.app.<appname>.adapters 
com.app.<appname>.models 
com.app.<appname>.api 
com.app.<appname>.listeners 
. 
. 
. 

2:創建應用程序的應用類中,它初始化全球第三方庫實例,並創建應用程序類SingtoneInstance訪問它們。

3:

APIRequest 
DBRequest 
ImageCaching 
. 
. 
. 

4:一些規範和慣例:與聽衆一起以下視圖和業務邏輯層的分離採用成熟穩定的庫與您的應用業務層和查看填補他們-層。 像

API Framework : Volley 
Image Framework : UniversalImageLoader/Picaso 
+0

從我的經驗來看,這樣的文件夾結構對於小型項目來說很好。對於中型和大型企業來說,最好是做一些類似的事情,但在較小的模塊級別上,例如保留活動,碎片等以獲取詳細信息,並且爲列表保留相同的內容。 – 3mpty

+0

文件夾結構應該基於功能而不是通用功能。請參閱http://stackoverflow.com/questions/37664828/android-mvp-pattern-package-structure – sharry

2

一些庫要應用在Android上的MVP模式,你需要理解,當談到到Android什麼MVP確切含義。 模型,視圖和演示者如何相互通信。以下是更好地理解它的圖表。

enter image description here

我已經應用這種模式我的應用程序之一,它使我能夠單元測試我的核心邏輯和組織代碼更好。

您可以參考this link瞭解MVP和我使用MVP創建的應用程序。