Где должны быть расположены ViewModels? - PullRequest
1 голос
/ 21 июля 2010
  • / Контроллеры / ViewModels?
  • / Представления / ViewModels?
  • Другие?

Ответы [ 5 ]

1 голос
/ 10 ноября 2010

Мне нравится отдельная сборка. Здесь я обычно добавляю код Automapper для сопоставления их с объектами домена. Что-то вроде ProjectName.ViewModel (и, конечно, ProjectName.ViewModel.Tests).

Это не будет стоить дорого, и вы сможете повторно использовать модель представления, если хотите добавить другой пользовательский интерфейс (например, Silverlight / WPF). Поддерживает хорошее разделение проблем между вашим контроллером (поток между отображением представлений) и вашей моделью представления (отображением определенного представления).

0 голосов
/ 22 июля 2010

/ Models

Так как «M» в MVC подразумевает модели, используемые для представлений, а вы используете модели представлений, кажется, что только папка «Модели» является для них основным местом.

Всякий раз, когда я начинаю работать в нетривиальном приложении MVC, доменные модели оказываются в отдельном проекте от проекта MVC. Это делает его еще более заманчивым, потому что созданная по умолчанию папка «Модели» не имеет смысла без моделей просмотра (хотя ее удаление по некоторым причинам кажется неправильным).

0 голосов
/ 21 июля 2010

Я размещаю их со своими взглядами.

0 голосов
/ 21 июля 2010

Это зависит от того, как вы хотите структурировать свой проект и насколько широко предполагается использовать модель.

Вы можете создать отдельную папку и поместить все классы View Model или даже просто определить их внутри.класс контроллера, с которым он соотносится.

Однако, если вы ищете многоуровневую разработку / структуру для последующей реализации веб-службы, я бы порекомендовал вам поместить их в отдельную библиотеку классов.Это было бы более чистым и многоразовым в разных проектах.

0 голосов
/ 21 июля 2010

Мне нравится иметь их в корне сайта / ViewModels или рядом с вашей папкой Model (внутри нее).

...