我試圖找出完成我正在工作的MVVM應用程序的設置的最佳方法。現在架構有一些peices,但我覺得好像缺少了一些東西。我缺少什麼應用程序層?
基本上,我們有一個供應商的概念。每個提供者本質上都是通過某種方式將數據聚合到應用程序的途徑。目前有三家提供商,有可能獲得更多。我們如何從每個提供商獲取數據可能會有所不同,因此我將概述我們在下面所做的工作。
基本上過程流程如下。
User makes request ->
Request is sent to a function inside the "Model" ->
Function fowards request to a "Processor" which then sends the request to a specific or all "Provider" ->
Provider gets the data and returns the requests to the "Processor" ->
Processor formats the data so it can be consumed by the model ->
Model consumes the data and by some binding is displayed back to the user.
我覺得模型內部的功能需要拆分成自己的層。通常情況下,我會認爲工廠模式適合,但是,我不認爲這是一種有益的模式。
然後,我雖然瞭解如何使用存儲庫模式,然而,再次,我不認爲會制定出我想要的東西,因爲它的主要優點是ORM類型的數據訪問。然而,使用Repository模式的概念看起來很不錯,因爲調用功能的一個地方會很好。
所以,他這樣說,還有什麼應該怎麼做。是具有模型內部功能本身填充好事還是壞事(這聽起來很奇怪,我)?
謝謝!
我們沒有問題,指揮若定,或任何MVVM元素。實際上,我們對MVVM的實現感到非常滿意。這是我們試圖消化的「超越MVVM」。 – John
確定這裏我做了什麼:包含的ViewModels的初始化和調用存儲庫的方法 - 和/或網絡服務,我的模型「已知」一無所知底層。希望有所幫助。 – mmorel
是的,我認爲這就是我要做的。我發現了一篇關於Repository模式的優秀文章,這正是我認爲缺少的。 http://www.primaryobjects.com/CMS/Article108.aspx可能是我長時間閱讀過的最好的文章之一。 – John