2013-04-06 3 views
1

Я пытаюсь изучить MVVM, и я немного борюсь с различиями между моделью и viewmodel.MVVM viewmodel и вопросы модели

Если кто-то может ответить на эти 2 вопроса было бы помочь очистить много для меня:

Say У меня есть Objects класс, который является ViewModel, который содержит несколько ObservableCollections из Object. Класс Object содержит ObservableCollection строк, отображаемых в графическом интерфейсе.

Является ли модель Object моделью или моделью?

Что делать, если класс Object содержит только строку и целое число (имя и значение), это модель или модель?

+1

Стоит помнить, что у вас может быть только модель и представление, вам не обязательно иметь модель представления. – ColinE

ответ

1

Model - это класс, содержащий ваши данные . Данные могут быть строками/целыми числами или как угодно. Model также может быть лист/коллекция этих объектов. Например, список Person объектов все равно может быть вашим Model.

ViewModel - это уровень между вашей моделью и видом. Он должен использоваться для выполнения любых задач, которые вам нужны в данных (например, если ваша модель представляет собой список объектов Person, но вы хотите показать только своим людям, возраст которых старше 18 лет, эта логика выполняется в ViewModel)

Так, чтобы ответить на ваш вопрос:

Если у вас есть объект, который содержит данные (в вашем примере список строк) это Model. Даже если объект немного сложнее (по отношению к числу свойств, которые он держит), вероятно, это все еще модель.
Бизнес-логика должна храниться отдельно от модели. С другой стороны Validationмогут быть добавлены к модели (например, чтобы убедиться, что Age свойство человека является неотрицательным), так как это до сих пор правила о том, как ваши данные должны вести себя