Какие параметры я должен передать конструктору ViewModel?

Я довольно новичок в WPF / MVVM и пытаюсь понять этот образец. Я изучаю это приложение MVVM http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

Автор создал класс Customer , который хранится в модели Папка и класс CustomerRepository , который хранится в папке DataAccess

CustomerRepository , содержит методы, которые «делают что-то», например static List LoadCustomers (строка customerDataFile) Т.е. мы не можем сказать, что CustomerRepository - это чистый файл модели, это тоже своего рода служебный файл.

С другой стороны, CustomerRepository хранит важные данные только для чтения List _customers; , и мы знаем, что мы должны хранить такие данные в модели!

Что ж, я бы сказал, что CustomerRepository смешивает вещи - это файл модели, который содержит внутри себя некоторые служебные методы.

Проблема в том, что экземпляр CustomerRepository передается ViewModel общедоступной AllCustomersViewModel (CustomerRepository customerRepository) .Теперь viewModel содержит то, чего не должен, в частности, он может заставить CustomerRepository перезагрузить материал и т. Д.

На мой взгляд, это снова шаблон MVVM, я думаю, что ViewModel должен содержать только ссылки для файлов модели все служебные классы и методы для управления файлами модели должны быть в других местах .

Прав я или нет? Можно ли передать класс, который предлагает некоторые услуги для модели (может перезагружать / обновлять модель и т. Д.), В ViewModel? Т.е. где должен быть так называемый уровень обслуживания , можно ли его использовать во ViewModel?

5
задан javapowered 28 November 2011 в 12:54
поделиться