MVC и отдельные проекты - PullRequest
       2

MVC и отдельные проекты

1 голос
/ 03 января 2011

Я новичок в MVC.Я хотел бы, чтобы мои объекты данных были в отдельном проекте от моего основного проекта MVC.Могу ли я просто переместить ВСЕ классы и файлы из папки «models» в мой новый проект all, а затем добавить ссылку на новый проект данных в свой проект MVC?Как мне тогда использовать модели, как в моих контроллерах (все еще в проекте MVC), так и в моих представлениях?

Ответы [ 2 ]

2 голосов
/ 03 января 2011

Вы идете в правильном направлении.На самом деле, для всех, кроме самых тривиальных проектов, мне нравится, когда моя модель находится в отдельной библиотеке классов.И тогда, как вы упомянули, вы можете ссылаться на библиотеку классов из вашего MVC-проекта и использовать ваши классы моделей.Преимущество состоит в том, что, как только ваша модель будет готова и отшлифована в библиотеке классов, вы сможете «экспонировать» любой вид презентации, такой как ваш проект MVC или Windows Phone 7, или экспонировать через WCF.что репозитории НЕ являются частью вашей модели.Это постоянная проблема, и они должны выполнять только операции CRUD, простые и понятные.Любой вид манипуляций должен идти в слое моделей.

0 голосов
/ 03 января 2011

Вы будете создавать библиотеки с инструментами, соответствующими вашей технологии реализации. Например, в Java вы можете создать jar-файл, содержащий модели. Вы бы поместили банки в classpath любого проекта, который их использовал; как только вы это сделаете, у вас есть доступ к библиотеке.

Это хорошая (отличная) идея, если вы хотите повторно использовать объекты модели и бизнес-требования, которые они реализуют в нескольких местах. Возможно, вы хотите, чтобы клиенты использовали API вашей модели для реализации своих клиентов, например.

Вы можете сохранить слой модели в качестве своего собственного проекта или оставить его в «основном» проекте и иметь процессы сборки для создания нужных артефактов. Вы не дали нам достаточно информации, чтобы дать четкий ответ о том, какой подход лучше.

Я могу сказать следующее: большинство проектов начинаются со всех слоев в одном проекте. Если часть проекта становится значительно более сложной, вы можете выполнить рефакторинг отдельных проектов. В некоторых проектах, которые я видел, веб-клиент достаточно сложен, чтобы быть его собственным проектом с собственной командой разработчиков (и собственными слоями MVC). В других проектах все стеки MVC были в одном проекте. Обратите внимание, что вам не нужно, чтобы M в MVC был в отдельном проекте, чтобы следовать парадигме. Вам просто нужно разобраться со всеми проблемами в правильном слое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...