Архитектура MVC или Webform для нового сайта - PullRequest
3 голосов
/ 13 июня 2009

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

Спасибо

Ответы [ 11 ]

4 голосов
/ 13 июня 2009

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

Счастливого обучения!

4 голосов
/ 13 июня 2009

Хотя никто не может сказать вам точно, что делать, команда, которой я управляю, собирается выпустить новый портал CMS / Job, используя ASP MVC. MVC дает нам отличную тестируемость и масштабируемость из коробки, и его можно быстро комбинировать с такими инструментами, как nHibernate / windsor (IOC) / nCache / jQuery - это гарантирует, что у вас есть множество ресурсов в Интернете, чтобы помочь ускорить разработку умение. Вы также можете принять такие стандарты, как строгий XHTML 1.1, что практически невозможно с веб-формами ASP.Net из-за автоматически сгенерированного HTML

1 другим преимуществом является то, что вы также избегаете ужасного состояния ASP.Net.

3 голосов
/ 13 июня 2009

Используйте ASP.NET MVC, если хотите:

  • изучение ASP.NET MVC framework
  • использовать jQuery или аналогичные библиотеки
  • действительно изучают веб-языки (HTML, CSS, JavaScript)
  • использовать Test Driven Development
  • имеет четкое разделение проблем

Если у вас нет времени или желания научиться правильно пользоваться платформой ASP.NET MVC, используйте ASP.NET WebForms.

2 голосов
/ 13 июня 2009

Мой ответ почти всегда "ASP.NET MVC." Гибкость, функциональность, тестируемость, поддержка и ... значительно перевешивают WebForms.

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

1 голос
/ 13 июня 2009

Это действительно зависит от конечной цели приложения. Как сказал Скотт Эверс, если ваша цель - учиться, то использование ASP.NET MVC расширит ваш кругозор в пространстве ASP.NET (поскольку вы уже знаете веб-формы).

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

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

0 голосов
/ 13 июня 2009

Я начал разрабатывать наше текущее приложение в веб-формах, mvc не был доступен, когда началась разработка ... Я выбрал шаблон MVP с HTTP-модулем перезаписи URL. В настоящее время я изучаю подключение к нему некоторых MVC, в основном для использования фронт-контроллера вместо использования контроллеров страниц. другие вещи в уже установленной архитектуре MVP с веб-формами в моем приложении дают мне больше гибкости, чем чистый подход MVC без WebForms, который мне нравится, хотя мне требуется немного больше кода, чем в примерах MS MVC (никогда не пробовал его в реальном проекте, чтобы увидеть, остается в том же духе, как в тех примерах из скринкастов).

Что мне не нравится в MVC, так это смешивание управляющего кода внутри шаблонов - я считаю, что циклы, ifs и тому подобное не должны принадлежать шаблону. но пару дней назад я столкнулся с движком представления Spark, который выглядит многообещающе в этом сегменте, хотя и не очень близко к Tapestry 5 (основанной на компонентах инфраструктуре webGUI) в мире Java.

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

0 голосов
/ 13 июня 2009

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

Я разместил первые 2 черновика в своем блоге. Я, по общему признанию, pro-mvc, но документ / контрольный список были получены нами, так что это может быть полезно.

http://eric.polerecky.com/archives/a-somewhat-less-biases-comparison-of-mvp-and-mvc/[http://eric.polerecky.com/archives/a-somewhat-less-biases-comparison-of-mvp-and-mvc/][1]

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

0 голосов
/ 13 июня 2009

Это можно считать бесстыдной саморекламой, но вот мой тест о том, как выбирать между двумя: http://sietch.net/ViewNewsItem.aspx?NewsItemID=101

0 голосов
/ 13 июня 2009

У меня хороший опыт работы с Jquery, CSS, HTML, Javascript, но не с TDD.

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

0 голосов
/ 13 июня 2009

Я также согласен с тем, что выбор MVC позволит вам расширить свои знания. Это не единственная причина, учитывая выбор, я только что закончил небольшой проект MVC (мой первый) и позвольте рассказать вам о MVC! Это отличная структура, которая, как мне кажется, дает вам больше гибкости и в то же время готовых инструментов для быстрого и безболезненного создания веб-приложения. Это был мой первый опыт работы с VS2008 и .NET FW 3.5 & LINQ, и все руководства на www.asp.net помогли мне быстро продвинуться вперед (особенно в главе о бесплатном учебнике из книги MVC 1.0, упомянутой здесь ) .

Мне также пришлось изучать JQuery, поскольку он очень сильно интегрирован в эти новые технологии.

Хотелось бы обратить внимание на то, что это новая технология, версия 2 уже готовится, поэтому, если ваш проект рассчитан на долгое время, имейте это в виду и планируйте соответственно (в моем случае, будучи небольшим Я, вероятно, попробую обновить свой проект до версии 2, когда он будет официально выпущен). Но в то же время наличие полностью поддерживаемой MS (и, следовательно, MSDN) версии 1 было для меня находкой ...

Удачи!

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