Разница между asp.net MVC и MVP? неужели они оба одинаковы?



Я хотел знать разницу между asp.NET MVC и MVP-это одно и то же?
ниже приведена схема архитектуры, на которую я ссылался.



(URL изображения: http://msdn.microsoft.com/en-us/library/ff647859.aspx )



MVC vs MVP



Основное различие, которое я узнал между MVC и MVP из диаграммы, заключается в том, что в MVC модель обновляет представление, а в MVP презентер обновляет представление.



Но вот в чем мое замешательство.Ниже приведен пример ASP.NET в MVC код.

public class HomeController : Controller
{
//
// GET: /Home/

public ActionResult Index()
{
return View();
}

}


Здесь контроллер возвращает / обновляет вид, так что теперь в соответствии с диаграммой это MVP



Является asp.net mvc и MVP похожи? если нет, то какая разница ?Может ли кто-нибудь направлять меня.

588   4  

4 ответов:

Фактически MVP является подмножеством шаблона MVC.

В вашем примере asp.net MVC контроллер не обновляет представление, а просто передает модель в представление, и представление обновляется в соответствии с моделью.

Но в MVP (который обычно используется с winforms и webforms в Microsoft stack) презентатор получает данные из представления, обновляет модель, и когда модель изменилась, презентатор прочитает модель и обновит представление.

Эта диаграмма MVC кажется мне вводящей в заблуждение. Я бы расценил это как более действенную архитектурную схему:

Введите описание изображения здесь

Это с сайта PHP, но здесь вы можете ясно видеть связь между представлением и контроллером.

Различия между MVC и MVP являются подспудными, этот вопрос (Как упоминалось выше) проясняет эти различия.


Что Страница MSDN также ясно говорит

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

Я думаю, что этот ресурс предварительно датируется Asp.Net MVC.

Сами статьи для чего-то называют составной блок приложений пользовательского интерфейса и относятся к 2005 году. Я бы пошел в http://www.asp.net/mvc/ для получения более актуальной и точной информации о MVC.

Нет.Это не одно и то же. Это две различные парадигмы (модели проектирования), используемые для взаимодействия с пользователем. Основываясь на этих парадигмах, ASP.NET команда разработала две различные платформы для написания веб-приложений. Первый - ASP.NET веб-формы , основанные на программировании форм на основе событий. Второй - ASP.NET MVC , который основан на использовании представлений моделей и контроллеров (MVC).

Я полагаю, что вы могли бы начать читать здесь, который написан одним из ASP.NET члены команды разработчиков.

Относительно конкретного вопроса. Я думаю, что контроллер обновляет представление, используя для этого модель. Модель ничего не делает. Во всяком случае, так я это понимаю...

Надеюсь, я помог!

Попытайтесь понять концепцию MVC и MVP без подключения к какой-либо технологии.

Метод действия в ASP.NET контроллер MVC возвращает ActionResult с помощью метода View , который не нарушает никакой шаблон. Он просто говорит, что функциональность контроллера выполнена, и давайте отрисовывать представление из разметки с помощью синтаксиса Razor/ASP. NET.

В ASP.NET мир - ASP.NET MVC-это импелемнтация паттерна MVC. Forgotten Web Client Software factory - это реализация MVP

Comments

    Ничего не найдено.