問題:真正的大和令人費解的活動類。很難閱讀/理解和修改。很難測試。模型 - 查看 - 演示者和Android應用程序設計
可能的解決方案:Model-View-Presenter(可能帶有依賴注入)。 和模擬測試對象!
我正計劃在Android應用程序中實現Model-View-Presenter。 這基本上是模型 - 視圖 - 控制器的變體。實質上,使活動 成爲榮耀的佈局管理器,並將任何業務邏輯推遲給演示者。查看Presenter的另一種方式是它像一個在一個Activity中實例化的Helper類,通過提供Presenter可以使用的接口/回調的活動來完成繁重的工作。
我想得到一些社區的想法。例如: 這意味着什麼接口?
模型和視圖對主持人有什麼責任。
對於主持人,我想活動將落實演示所需的接口?
演示者與活動應該包含哪些內容?
演示者與活動是否是一對一的?怎麼樣一個活動與多個片段顯示不同的小工具,每個都有自己的適配器?我們現在需要多個演示者還是隻有一個?
Presenter vs. Adapter怎麼樣?
演示如何應涉及與說一個ListView和ListViewAdapter的活動? Presenter vs. Adapter的含義是什麼?
演示者應該選擇適配器使用?還是應該活動做出這個決定? 演示者應該處理模型數據還是適配器?適配器和演示者之間是否存在衝突?適配器是否爲演示者?或更少/更多。通常,適配器只適用於活動中的ListView等小部件。他們不會讓我認爲能夠獲得數據的調用。
所以在模型 - 視圖 - 演示的關鍵是真的決定在主持人與其他類,哪些通信應該是主持人和活動,適配器和意見/包括片段之間發生的事情。
Model-View-Presenter對於Android來說只是一個非常糟糕的主意?還是它適合Android框架?
記住有安卓之外的例子不勝枚舉非常成熟SDK的仍然需要一個微架構像MVP的。事實上例子比比皆是:例如。 Flex是非常成熟的Flash SDK,但它仍然需要幾乎所有主流應用程序的MVP和MVC框架。
EJB需要Spring來簡化和組織它。 MFC/Struts等等,並且列表繼續。爲什麼Android應該有什麼不同?爲什麼我們應該假設SDK沒有像MVP這樣的設計模式,就擁有了Android所需的一切?
很高興知道我花這幾百個小時前,請隨時發表評論,這個問題的任何部分/答案。
意見任何人?給予好評? downvote?註釋?答案? .......... –
看到這個額外... http://programmers.stackexchange.com/questions/133134/is-model-view-presenter-mvp-scheme-useful-for-android – nawfal