Разница между 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 Presenter обновляет представление.
Но вот мое confusion.Below - образец кода MVC asp.net.
public class HomeController : Controller
{
//
// GET: /Home/
public ActionResult Index()
{
return View();
}
}
здесь Контроллер возвращает/обновляет представление так теперь, согласно диаграмме, это MVP
Является ли asp.net mvc и MVP похожими? если не в чем разница? Может ли кто-нибудь меня вести.
Ответы
Ответ 1
Фактически MVP является подмножеством шаблона MVC.
В вашем примере asp.net mvc контроллер не обновляет представление, а просто передает модель в представление, и представление обновляется в соответствии с моделью.
Но в MVP (который обычно используется с winforms и webforms в стеке Microsoft) ведущий получает данные из представления, обновляет модель и когда модель изменена, ведущий будет читать модель и обновлять представление.
Ответ 2
Эта диаграмма MVC выглядит вводящей в заблуждение. Я бы рассматривал это как более эффективную архитектурную диаграмму:
![enter image description here]()
это с сайта PHP, но здесь вы можете четко видеть взаимосвязь между представлением и контроллером.
Различия между MVC и MVP являются безболезненными, этот вопрос (как упоминалось выше) разъясняют эти различия.
Что страница MSDN также четко говорит
Этот контент устарел и больше не поддерживается. это предоставляемые в качестве любезности для лиц, которые все еще используют эти технологии....
Я думаю, что этот ресурс предшествует Asp.Net MVC.
Сами статьи для чего-то называют Composite UI Application Block и с 2005 года. Я бы пошел в http://www.asp.net/mvc/ для получения более актуальной и точной информации о MVC.
Ответ 3
Нет. Они не то же самое. Это две разные парадигмы (шаблоны проектирования), используемые для взаимодействия с пользователем. Основываясь на этих парадигмах, команда ASP.NET разработала две различные структуры для написания веб-приложений. Первая ASP.NET Web Forms основана на программировании на основе событий. Второй - ASP.NET MVC, основанный на использовании Model Views и Controllers (MVC).
Я полагаю, вы можете начать читать здесь, который написан одним из членов команды разработчиков ASP.NET.
Относительно конкретного вопроса. Я думаю, что контроллер обновляет представление с помощью модели, чтобы сделать это. Модель ничего не делает. Так или иначе я понимаю это, так или иначе...
Надеюсь, я помог!
Ответ 4
Попытайтесь понять концепцию MVC и MVP без подключения к какой-либо технологии.
Метод действия в ASP.NET MVC-контроллере возвращает метод ActionResult with View не разбивает какой-либо шаблон. Он просто говорит, что функции контроллера выполнены и позволяют визуализировать представление из разметки с помощью Razor/ASP.NET syntaх.
В мире ASP.NET - ASP.NET MVC - это impelemntation шаблона MVC. Забытое Программное обеспечение веб-клиента factory - это реализация MVP