2012-02-24 2 views
0

Я пытаюсь создать приложение WPF, используя шаблон MVVM. Это будет мой первый.Должны ли модели содержать ссылки на другие модели?

В моей базе данных У меня 2 таблицы таблица отчетов и таблица столбцов. В основном я просто хочу хранить скелет отчетов, сохраняя имя и некоторые второстепенные сведения (заголовок строки ...) и сохраняя все столбцы в другой таблице.

Мне интересно, что было бы наилучшим подходом при создании моей модели:

  • я должен сделать 2 модели (отчет и столбцов) для каждой таблицы? И сделать наблюдаемую коллекцию Columns
  • только 1 модель и создать столбец POCO с обычным списком столбцов

Если я иду с подходом 2 модели я должен реализовать 2 modelViews или может я группа все в одном modelview, поскольку я буду работать только с одним сообщением в представлении (например, с видом отчета о редактировании)?

Надеюсь, что я смог четко объяснить свою ситуацию.

ответ

0

Просто делайте каждый отдельно (т. Е. Один View/ViewModel/Model для таблицы). Вы можете реорганизовать общие элементы позже (и/или по мере их создания).

0

ViewModels в MVVM обычно имеют отношение «один к одному» для просмотра, в отличие от Asp.Net MVC. Чтобы решить, сколько просмотров/ViewModels вам нужно, вы можете начать думать об интерфейсе. ViewModels - это моделируемый пользовательский интерфейс, поэтому, если в вашем приложении есть один экран, вам следует начать с одного класса viewModel, позже вы сможете его доработать, если он будет слишком большим. Модели немного разные, зависит от того, как вы собираетесь взаимодействовать с ними. Я не уверен, что вы собираетесь с ними делать, у меня был опыт хранения определения отчета в базе данных, и может случиться так, что вам действительно не нужны две таблицы вообще, вам даже не нужна реляционная база данных, просто сохраните blob с сериализованным XML. Но в любом случае после десериализации его обратно на ваш объект у вас будет, по крайней мере, два класса модели - «Колонка и отчет», модель - это самый низкий уровень абстракции, если у вас не будет этих двух классов моделей, вы не сможете отличить эти юридические лица.

Смежные вопросы