Вопрос

Я довольно близок к тому, чтобы закончить работу с веб-сайтом, использующим entity framework и стандартный asp.net + ajax, но теперь я думаю, не было бы разумнее начать все сначала и сделать это с Microsoft mvc.Будет ли MVC чем-то новым, и должен ли я попытаться это реализовать?Как MVC работает на сайтах с высокой посещаемостью?

Это было полезно?

Решение

Оцените причину, по которой вы собираетесь переделать всю свою тяжелую работу, и вы получите ответ.

  • Является ли сайт проектом, созданным для ваших собственных учебных целей?Если это так, то переделать сайт в MVC - это вариант, если вы готовы отказаться от большой части уже проделанной работы.

  • Делается ли сайт за счет кого-то?Если это так, вам определенно не следует переделывать сайт в MVC на данном этапе, так как вы без необходимости восстановите проект.

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

Другие советы

Не проводите реинжиниринг того, что вы уже закончили разрабатывать, или того, что вы готовы запустить для новой технологии.Скорее завершите проект и используйте новую технологию в доработке или на совершенно новом сайте.Единственный раз, когда следует рассмотреть этот тип рефакторинга, - это когда бизнес-требования изменились и для нового требования требуются новые функции.

Mvc - чрезвычайно мощная и стабильная платформа, однако это выбор разработчиков.Бизнес-требования будут определять тип используемого решения.Это пример правильного инструмента для правильной работы.

Практический пример: недавно мне пришлось сделать выбор, но из-за отсутствия навыков технической поддержки после завершения проекта и создания зависимости от одного ресурса для этой цели бизнес отклонил вариант использования Mvc.

Я не вижу смысла в повторном внедрении, если вы почти закончили.Почему бы не сохранить это для вашего следующего веб-сайта и не попробовать уже тогда?Также Stack Overflow реализован с использованием ASP.Net MVC - производительность невероятная, и они получают много трафика.

Лично я бы рекомендовал использовать MVC, поскольку он более интуитивно понятен и у вас больше контроля над своими страницами, чем с веб-формами.

Я бы не рекомендовал начинать снова с MVC, если вы новичок в MVC, так как кривая обучения может быть немного крутой!

Если веб-сайт, о котором вы говорите, является общедоступным и вы собираетесь выпустить его по всему миру, то я бы посоветовал вам завершить то, что вы делаете, отправить его и получить отзывы пользователей о сайте, прежде чем вы решите выбросить его и внедрить заново.Если это просто сайт для хобби, то можно его выбросить.

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

Как упоминалось в других ответах, ТО же самое относится и к использованию ASP.NET MVC.

Я не думаю, что ASP.NET MVC будет мешать выполнению ваших требований к масштабированию - на любом коммерческом веб-сайте это, как правило, источник данных (ваша база данных SQL или веб-сервисы, которые вы вызываете), который ограничит вашу способность справляться с большим трафиком.

Я предполагаю, что это действительно зависит от ваших шаблонов использования, от того, к какому объему данных вы обращаетесь для создания страниц, будет ли ваш контент доступен в кэше, есть ли у вас миллионы пользователей, просто читающих страницы, или сотни пользователей, которые обновляют данные и тому подобные вещи, которые улучшат вашу способность к масштабированию, и большинство из них ортогональны фреймворку, который вы используете для рендеринга страниц.

Что ж, StackOverflow использует ASP.NET MVC, и это сайт с довольно высоким трафиком.Я никогда не испытывал никаких замедлений с SO.Итак, я не думаю, что существуют какие-либо серьезные ограничения производительности, присущие ASP.NET MVC.

MVC довольно хорош, мы используем его с момента появления первого CTP.Но возникают проблемы с производительностью, если вы просто слепо следуете блогам / руководствам по MVC.

Взгляните на это

Если вы уже проделали большую часть работы над уровнем пользовательского интерфейса, просто придерживайтесь веб-форм, в противном случае, если у вас есть время для изучения новой технологии, MVC вас не разочарует

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

Для вашего следующего проекта я настоятельно рекомендую вам сесть и изучить MVC.Как только вы произведете переключение, различные слои станут очень четкими и, как следствие, более лаконичными (надеюсь).

В результате, если вам нужно вернуться и поработать над предыдущими сайтами, вы можете решить повторно реализовать их в MVC, если это не слишком сложно.Полный контроль, который вы имеете над тем, что происходит в вашем коде, - это здорово.И если вам не нравится использовать VB или C #, вы могли бы даже разветвиться и использовать Железная Руби и Железный Питон а также по пути освоите несколько новых языков.Не говоря уже о том, что MVC полностью расширяем и (теперь) с открытым исходным кодом.Если вы хотите увидеть плюсы и минусы, ознакомьтесь с этим вопрос.

Другой вариант - создать раздел вашего сайта в WebForms, а другой - в MVC.Насколько мне известно, нет ничего, что помешало бы вам сделать это.

Я говорил это раньше и скажу снова.:) Недавно я воссоздал почти готовый проект как mvc вместо asp.net.Мне потребовалась дополнительная неделя, чтобы подготовиться, но заказчик был очень доволен тем, как красиво все получилось!

(https://msdn.microsoft.com/en-us/library/dd381412 (v=против 98).aspx)

Когда создавать приложение MVC

Вы должны тщательно обдумать, следует ли внедрять веб-приложение, используя либо платформу ASP.NET MVC, либо модель ASP.NET Web Forms.Платформа MVC не заменяет модель веб-форм;вы можете использовать любой фреймворк для веб-приложений.(Если у вас уже есть приложения на основе веб-форм, они продолжают работать точно так же, как и всегда.) Прежде чем вы решите использовать фреймворк MVC или модель веб-форм для конкретного веб-сайта, взвесьте преимущества каждого подхода.

Преимущества веб-приложения на основе MVC

ASP.NET Платформа MVC предлагает следующие преимущества:

  • Это упрощает управление сложностью, разделяя приложение на модель, представление и контроллер.
  • Он не использует состояние просмотра или серверные формы.Это делает платформу MVC идеальной для разработчиков, которые хотят полностью контролировать поведение приложения.
  • Он использует шаблон Front Controller, который обрабатывает веб-приложение
    запросы через один контроллер.Это позволяет вам спроектировать
    приложение, поддерживающее богатую инфраструктуру маршрутизации.Для получения дополнительной информации
    информацию см. в разделе Передний контроллер.
  • Это обеспечивает лучшую поддержку разработки, основанной на тестировании (TDD).
  • Это хорошо работает для веб-приложений, которые поддерживаются большими командами разработчиков, и для веб-дизайнеров, которым требуется высокая степень контроля над поведением приложения.

Преимущества веб-приложения на основе веб-форм

Платформа на основе веб-форм обладает следующими преимуществами:

  • Он поддерживает модель событий, которая сохраняет состояние по протоколу HTTP, что приносит пользу при разработке бизнес-веб-приложений.Веб-приложение на основе форм предоставляет десятки событий, которые поддерживаются в сотнях серверных элементов управления.
  • Он использует шаблон контроллера страницы, который добавляет функциональность отдельным страницам.Дополнительные сведения см. в разделе Контроллер страницы.
  • Он использует просмотр состояния в серверных формах, что может упростить управление информацией о состоянии .
  • Это хорошо подходит для небольших команд веб-разработчиков и дизайнеров, которые хотят воспользоваться преимуществами большого количества доступных компонентов для быстрой разработки приложений.
  • В целом, это менее сложно для разработки приложений, потому что компоненты (класс страницы, элементы управления и так далее) тесно интегрированы и обычно требуют меньше кода, чем модель MVC.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top