我遇到的大部分Swift MVVM示例都使用依賴注入將Model注入ViewModel,然後將ViewModel注入ViewController。這種注入通常建議在AppDelegate中作爲一個單例處理。這對於簡單的例子來說都很好。商業和數據層的Swift MVVM示例
但是,在現實世界中,「模型」實際上不僅僅是一個DTO對象,它假定返回模型/ DTO的數據層是業務&。因此,將模型注入AppDelegate級別的ViewModel是不現實的,因爲View/ViewController將觸發實際的數據刷新。所以模型注射需要在別處發生。此外,大多數示例直接從ViewModel轉到DataAccess,這會導致ViewModel吸收很多業務邏輯,理想情況下它應該只保留視圖的狀態。
有人可以轉發一個全面的端到端的Swift MVVM示例與離散分隔的業務&數據層。爲了使這個問題沒有意見爲基礎,但在提問/回答格式,示例應該有:
- 獨立業務邏輯層
- 單獨的數據訪問邏輯層
- 單獨的模型/ DTO(國家唯一的對象)
的例子也應該清楚地說明:
- 凡依賴注入發生
- 有明確的如上所定義的層