основная цель использовать mvc

Мои 2 цента:

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

Так, это - просто вопрос времени.

существуют дебаты Martin-Coplien, в которых Bob Martin утверждает что:

"в наше время безответственно для разработчика поставить строку кода, которую он не выполнил в модульном тесте".

[ http://www.infoq.com/interviews/coplien-martin-tdd]

9
задан Mark Pim 16 October 2009 в 13:12
поделиться

8 ответов

Часть URL в ASP.NET MVC framework - это просто современный феномен для создания удобных для поисковых систем URL. Фактически, они существовали задолго до того, как команда Microsoft решила добавить их в структуру (для чего требовался IIS7, прежде чем это можно было сделать без расширения IIS).

На мой взгляд, самые большие плюсы заключаются в возможности более простого тестирования и более четкое разделение частей вашего приложения. Вся архитектура ActionResult фреймворка ASP.NET MVC позволяет очень легко переключаться с AJAX на обычные POST.

Delphi 5 использовала модель MVC для своих расширений ISAPI 10 лет назад.

1
ответ дан 4 December 2019 в 12:19
поделиться

MVC - это шаблон проектирования. Его цель - разделить бизнес-логику и детали представления.

ASP.Net MVC - это механизм для создания веб-приложений с использованием ASP.Net и шаблона MVC. Одной из особенностей ASP.NET MVC является возможность использовать дружественные к SEO URL-адреса для предоставления команд части контроллера.

Вы можете делать то, что вы заявили, но ASP.Net предоставил вам механизм, упрощающий это.

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

2
ответ дан 4 December 2019 в 12:19
поделиться

Хотя ребята до меня уже дали достаточно ответов на вопрос о назначении ASP.NET MVC, я хотел бы добавить одну вещь.

Веб-формы ASP.NET пытались абстрагироваться. html и веб из веб-разработки. Такой подход привел к недостаточной производительности и использованию богатых фреймворков javascript. Было возможно создать веб-приложение без фактического знания Интернета.

И чтобы ответить на ваш первоначальный вопрос, цель ASP.NET MVC, я: Процитирую Дино Эспозито :

С помощью ASP.NET MVC вы заново откроете для себя старый добрый вкус Интернета - поведение без сохранения состояния, полный контроль над каждым битом HTML, полную свободу сценариев и CSS.

1
ответ дан 4 December 2019 в 12:19
поделиться

Позвольте мне сравнить эти два для вас:

Веб-формы Asp.net

Они созрели старую ASP технологию, которая была больше похожа на PHP. Код и презентация были собраны в одном файле. Веб-формы Asp.net модернизировали эту модель, предоставив механизм разделения двух. Но они основывались на хороших вещах, которые были у разработчиков приложений Windows. Создание интерфейса перетаскивания с управляющими событиями точно так же, как они существуют в приложении Windows. Код событийной мысли был отделен от HTML, они не были отделены. Вы по-прежнему ссылаетесь на множество элементов управления представлениями в коде программной части, поэтому они все еще очень привязаны друг к другу.

Поэтому было довольно легко начать разработку веб-форм Asp.net. Но неискушенные разработчики вскоре оказались в узком месте, которого не заметили ' не знаю, что существует (например, медленные обратные передачи из-за огромного состояния просмотра и т. д.). Технологии использовали некоторые уловки, чтобы заставить эту работу работать. Но в серьезном крупномасштабном приложении это стало большой проблемой. Разработчикам приходилось смешивать свой код, чтобы он работал с фреймворком веб-форм Asp.net. Их сложные формы имели сложную программную часть с трудно поддерживаемым кодом со сложным состоянием.

Хорошим (а также плохим) в то время были богатые серверные элементы управления. В настоящее время с Web 2.0 они больше не кажутся богатыми, поскольку фактически не поддерживают функциональность на стороне клиента в той степени, в которой должны. Поэтому Microsoft решила втиснуть еще кое-что. Обновите панели. Это сделало возможным частичный рендеринг (и Ajax) практически одним движением пальца. Но за это пришлось заплатить. Все, кто использовал (использует), вскоре это осознали » это не жизнеспособное решение, которое могло бы реализовать профессиональное приложение.

Asp.net MVC

Теперь у нас есть новая технология, которая не имеет много общего с веб-формами Asp.net, за исключением ее первой части названия . Платформа MVC фактически отделяет код от пользовательского интерфейса (представления). Действия контроллера (код, выполняемый по любому HTTP-запросу) сохраняются небольшого размера и ничего не делают с визуализацией (он не привязывает данные к определенным элементам управления и т. Д.). Действие контроллера почти не подготавливает данные для использования в представлении или нет. Это зависит от мнения. Код контроллера никоим образом не формирует или не ссылается на какие-либо элементы управления представления или что-либо еще. На самом деле они разделены в MVC.

С другой стороны, представления просто отображают и предоставляют данные. Они могут быть частично или полностью отрисованы. Они поддерживают функциональность Ajax до такой степени, что каждый хотел бы использовать. Собственно все разбито на базовые мелочи. Разделяй и властвуй (разделяй и властвуй) здесь, кажется, линия сохранения.

Здесь нет скрытых функций. Никакого заигрывания с разработкой Windows. Это чистая структура ответа на запрос. Разработчик имеет возможность на 100% контролировать визуальный аспект своего приложения. Но ценой отсутствия богатых элементов управления из коробки. Они могут предоставляться сообществом, или некоторые разработчики предпочитают создавать индивидуальные элементы управления, которые намного лучше обслуживают процесс.

Какой из них лучше?

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

Здесь нет скрытых функций. Никакого заигрывания с разработкой Windows. Это чистая структура ответа на запрос. Разработчик имеет возможность на 100% контролировать визуальный аспект своего приложения. Но ценой отсутствия богатых элементов управления из коробки. Они могут предоставляться сообществом, или некоторые разработчики предпочитают создавать индивидуальные элементы управления, которые намного лучше обслуживают процесс.

Какой из них лучше?

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

Здесь нет скрытых функций. Никакого заигрывания с разработкой Windows. Это чистая структура ответа на запрос. Разработчик имеет возможность на 100% контролировать визуальный аспект своего приложения. Но ценой отсутствия богатых элементов управления из коробки. Они могут предоставляться сообществом, или некоторые разработчики предпочитают создавать индивидуальные элементы управления, которые намного лучше обслуживают процесс.

Какой из них лучше?

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

Нет скрытых функций. Никакого заигрывания с разработкой Windows. Это чистая структура ответа на запрос. Разработчик имеет возможность на 100% контролировать визуальный аспект своего приложения. Но ценой отсутствия богатых элементов управления из коробки. Они могут быть предоставлены сообществом, или некоторые разработчики предпочитают создавать индивидуальные элементы управления, которые лучше обслуживают процесс.

Какой из них лучше?

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

Нет скрытых функций. Никакого заигрывания с разработкой Windows. Это чистая структура ответа на запрос. Разработчик имеет возможность на 100% контролировать визуальный аспект своего приложения. Но ценой отсутствия богатых элементов управления из коробки. Они могут быть предоставлены сообществом, или некоторые разработчики предпочитают создавать индивидуальные элементы управления, которые лучше обслуживают процесс.

Какой из них лучше?

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

Какой из них лучше?

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

Какой из них лучше?

У обоих есть свои плюсы и минусы. Но если вы решили создать полусложное, современное и поддерживаемое приложение, я бы посоветовал вам попробовать MVC.
Но если все, что вам нужно сделать, это приложение с 15 экранами (без каких-либо особых требований к интерфейсу), было бы намного быстрее создать его с помощью веб-форм Asp.net.

3
ответ дан 4 December 2019 в 12:19
поделиться

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

Таким образом, это никак не связано с HTML или URL-адресами. Просто MVC упрощает создание чистого HTML и простых URL-адресов.

0
ответ дан 4 December 2019 в 12:19
поделиться

Тестируемость - большое преимущество использования ASP.NET MVC. Написание модульных тестов для Winforms ASP.NET нетривиально. Модульные тесты для контроллеров намного проще.

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

3
ответ дан 4 December 2019 в 12:19
поделиться

MVC - это не просто вещь ASP.net , это шаблон проектирования, который был широко принят до того, как он был создан в рамках .NET, главное в MVC - отделение данных от представления (взаимодействия с пользователем) от бизнес-уровня. Для Microsoft это был просто способ предложить этот тип шаблона проектирования в рамках .NET Framework

1
ответ дан 4 December 2019 в 12:19
поделиться

MVC - это концепция разработки программного обеспечения, которая используется более широко, чем только в ASP.net.

Вкратце, она поощряет четкое разделение:

  • бизнес-логики ( M odel) код, который выполняет всю работу грубой силы за кулисами; работа с базой данных, выполнение больших вычислений; и
  • логика пользовательского интерфейса ( V iew) код, который представляет информацию вашим пользователям красивым образом.

C предназначен для C ontroller - связки, которые связывают кости модели и мышцы видов и позволяют им чисто общаться друг с другом.

Вы правы, что «нормальный» ASP. net использует файлы кода программной части, так что разметка страницы хранится отдельно от кода, который генерирует эту разметку (в отличие от языков, таких как PHP, где код встроен непосредственно в HTML), но MVC ASP.net поощряет еще большее разделение описанными мною способами. выше.

Взгляните на этот учебник для более подробного обсуждения шаблона. Также посмотрите этот вопрос SO


Шаблон MVC не имеет ничего общего с перезаписью URL-адресов. ASP.net MVC может упростить эту задачу, но это ни в коем случае не главная цель.

Также взгляните на этот вопрос SO


Шаблон MVC не имеет ничего общего с перезаписью URL-адресов. ASP.net MVC может упростить эту задачу, но это ни в коем случае не главная цель.

Также посмотрите этот вопрос SO


Шаблон MVC не имеет ничего общего с перезаписью URL-адресов. ASP.net MVC может упростить эту задачу, но это ни в коем случае не главная цель.

6
ответ дан 4 December 2019 в 12:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: