我開始琢磨一下模式和UI,分別之間的依賴關係,並調用順序控制器的活動課:模型應該改變UI還是UI?
當我想要恢復的方法我的Android應用程序的狀態onRestoreInstanceState
我應該:
- 更新模型的狀態,然後調用更新UI的活動?
- 更新模型的狀態,然後基於模型狀態更新UI?
那我應該選擇哪一個?
所以我在這裏看起來真的是像指導如何命令依賴調用,我知道Android並不真正遵循MVC,所以我應該使用什麼樣的方向?
我開始琢磨一下模式和UI,分別之間的依賴關係,並調用順序控制器的活動課:模型應該改變UI還是UI?
當我想要恢復的方法我的Android應用程序的狀態onRestoreInstanceState
我應該:
那我應該選擇哪一個?
所以我在這裏看起來真的是像指導如何命令依賴調用,我知道Android並不真正遵循MVC,所以我應該使用什麼樣的方向?
我認爲1和2都可能發生取決於你的應用程序是什麼樣子。
您的模型可能會廣播更改事件,然後該活動或fragmenets可以對更新UI做出反應。
或者你可能有一個非常簡單的模型,或者是一個從活動傳遞到活動的瞬態模型。在這種情況下,您可能更願意更新該模型中的信息,然後命令UI刷新,並將模型與其一起傳遞。
我有點失去聯繫,所以我認爲只要你清晰和一致,兩者都可以。當我開始使用片段時,我可能會閱讀什麼是對模型中的更改作出反應的最佳方式,他們可能會通過直接調用來更新/刷新來優先廣播更改。
在典型的model-view-controller實現中,人們會提醒視圖模型已經更新,以便它可以基於更新的模型重新呈現它自己。正如wikipedia所述:
模型在其狀態發生變化時通知其關聯的視圖和控制器。該通知允許視圖產生更新的輸出,並且控制器更改可用的命令組。
因此,這將是最喜歡你的號碼2:
更新模型的狀態,然後更新基於模型的狀態的用戶界面?
但Android應用程序不遵循MVC模式。活動獲取更新。 –
@MaxRhan *您決定設計您的應用程序與Android如何讓您與其api交互無關。 *你*可以使用MVC,但是你想要的。 Android上的許多應用程序使用MVC模式。特別是,您的活動可以將此更新轉發到應用程序的模型部分,並向模型已更新的視圖發出信號,充當MVC控制器。 –
爲什麼恢復應用程序狀態會影響您的模型? –
@ M.ElSaka由於該模型基本上是支持應用程序並提供應用程序正在使用的功能。 –