Я новичок в MVC. Я хотел бы иметь свои объекты данных в отдельном проекте из моего основного проекта MVC. Могу ли я просто переместить ВСЕ классы и файлы из моей папки «models» в мой новый проект, а затем добавить ссылку на новый проект данных в моем проекте MVC? Как я смогу использовать модели, как в моих контроллерах (все еще в проекте MVC), так и в моих представлениях?MVC и отдельные проекты
ответ
Вы идете в правильном направлении. Фактически, для всех, кроме самых тривиальных проектов, мне нравится иметь мою модель в отдельной библиотеке классов. И затем, как вы упомянули, вы можете ссылаться на библиотеку классов из своего проекта MVC и использовать классы моделей. Преимущество в том, что, когда у вас будет готовая и отполированная модель в библиотеке классов, вы можете «открыть» любой уровень представления, например, ваш проект MVC или Windows Phone 7 или выставить через WCF.
Имейте в виду, что эти репозитории НЕ являются частью вашей модели. Они являются упорством, и они должны делать операции CRUD, простые и простые. Любые манипуляции должны идти в слое моделей.
Вы должны создавать библиотеки с инструментами, соответствующими вашей технологии внедрения. Например, с Java вы должны создать jar (s), содержащие модели. Вы помещаете банки на путь класса, в зависимости от того, какой проект (ы) использовали их; как только вы это сделаете, у вас есть доступ к библиотеке.
Это хорошая идея, если вы хотите повторно использовать объекты модели и бизнес-требования, которые они реализуют в более чем одном месте. Возможно, вы хотите, чтобы клиенты использовали ваш модельный API для реализации своих собственных клиентов, например.
Вы можете сохранить модельный слой в качестве своего собственного проекта или сохранить его в «основном» проекте и создать процессы сборки для создания желаемых артефактов. Вы не дали нам достаточно информации, чтобы дать жесткий ответ о том, какой лучший подход.
Я могу сказать следующее: большинство проектов начинаются со всех слоев внутри одного проекта. Если часть проекта становится значительно сложной, вы можете реорганизовать отдельные проекты. В некоторых проектах, которые я видел, веб-клиент достаточно сложный, чтобы быть его собственным проектом с собственной командой разработчиков (и собственными слоями MVC). В других проектах все стеки MVC были в одном проекте. Обратите внимание, что вам не нужно, чтобы M в MVC находился в отдельном проекте, чтобы следовать парадигме. Вам просто нужно справиться со всеми проблемами в правильном слое.
Спасибо. Я просто делаю очень маленький учебный проект. Так что в реальной жизни я бы сохранил это как одно. Тем не менее, я хотел бы преобразовать старое веб-приложение в MVC. И у этого есть 2 интерфейса. Winforms и веб-приложение. В настоящее время я использую классический веб-сервис asp.net, который имеет bl и dl. Это будет преобразовано в инфраструктуру сущности в качестве уровня данных, а затем ссылку веб-службы на проект ef. На самом деле не уверен. Тогда мне, вероятно, придется иметь общий класс lib с объектами данных. На самом деле. Мне нужно подумать об этом. – Craig
- 1. ASP.net MVC: несколько доменов, отдельные проекты, отдельные развертывания
- 2. Visual studio - Отдельные проекты asp.net
- 3. Имея отдельные проекты в одном решении ASP.NET MVC 5
- 4. Разделение проекта MVC на отдельные проекты с использованием WCF
- 5. Отдельные филиалы или проекты git?
- 6. Отдельные проекты для MVC5 и Web API 2
- 7. AngularJS и MVC Framework, проекты?
- 8. Отдельные проекты с правами доступа на VSTS
- 9. Хорошие проекты MVC
- 10. System.Globalization.CultureNotFoundException в MVC проекты
- 11. Ссылка на отдельные проекты в GHC
- 12. данных уровня доступа и бизнес-логики на отдельные проекты в ASP.Net MVC 3
- 13. ASP.NET - одно решение, проекты MVC и WebApi, отдельные модели для каждого?
- 14. Каковы плюсы и минусы Областей, реализованных как отдельные проекты или несколько проектов в asp.net mvc
- 15. Как распространять javascript и cshtml-файлы в отдельные проекты
- 16. Разделение веб-роли и веб-приложения на отдельные проекты
- 17. Типичное эмпирическое правило для разделения фрагментов кода на отдельные проекты
- 18. MVC: Отдельные контроллеры администратора
- 19. OAuth in asp.net Проекты MVC
- 20. Почему отдельные модели и контроллеры в MVC?
- 21. Web, Model, Service & Repository для разделения на отдельные проекты, Spring MVC
- 22. MVC одна или отдельные модели?
- 23. отдельные HTML-представления в MVC
- 24. Отдельные длл от других выходных файлов в C++ проекты
- 25. Как импортировать отдельные проекты из исходного кода Android
- 26. Добавить отдельные каталоги/Проекты/Файлы для Git Repository
- 27. Разбиение приложения плагина Eclipse/GWT на отдельные проекты
- 28. Gradle: генерировать отдельные проекты затмения для модульных тестов
- 29. Проекты и проекты объектов для кинотеатров
- 30. ASP.NET MVC демо-проекты, которые используют модели
Mh, можете ли вы быть более конкретным относительно используемого языка программирования, используемой структуры и т. Д. Это помогает представить, чего вы хотите. Как ваш вопрос говорит, что я думаю, что можно «просто» создать все в таком порядке (я имею в виду, инстансов): -Модель (ничего не требуется) -View (требуется модель) -Controller (требуется модель и представление) Выполнение этого легко, я имею в виду, что вы можете просто установить указатель на модели и представления в конструкторе –
Извините. Виноват. Я (неправильно) предположил, что MVC - вещь Microsoft. Извини за это. Я использую .net (4.0) в visual studio 2010 с C#. – Craig
MVC - это шаблон проектирования, парадигма кодирования. ASP.NET MVC - это набор инструментов, который Microsoft обеспечивает для его выполнения. Обновил тэг для вас. :) – Sapph