Я полагаюсь http://quirksmode.org/resources.html для получения информации о HTML/CSS/JavaScript. Этот ресурс делает отличную работу, решающую проблемы перекрестной совместимости браузера в полезном формате таблицы.
Поскольку мои комментарии по поводу дубликатов внимательно изучили меня, я просто сделаю ссылку на эти вопросы SO и оставлю их «высшим полномочиям», чтобы закрыть их, если они сочтут нужным: P
Что такое MVP и MVC и в чем разница?
Я даже не знал о «MVP», но в haack [overflow] есть довольно симпатичная статья ...
Все, что вы хотели знать о MVC и MVP, но боялись спросить
Рискуя, что Хаак заблокирует перекрестно связанные изображения ... Хаак говорит, что разница очевидна :) альтернативный текст http://haacked.com/images/haacked_com/WindowsLiveWriter/MVCandMVPPatternResources_71CE/WinMerge%20-%20%5BMVP.txt%20-%20mvc.txt%5D_3.png
Люди слишком зацикливаются на инициалах и иногда на TLA .
Если то, что говорит Фил Хаак в своей статье, правда, я думал, что использую MVC в ASP.NET MVC, но на самом деле я использую MVP (или измененную форму MVC).
В MVC это всегда контроллер ответственность за обращение с мышью и события клавиатуры. С MVP, GUI сами компоненты изначально обрабатывают ввод пользователя, но делегировать интерпретация этого вклада в ведущий.
Но на самом деле ASP.NET MVC не в этом.
Если я обрабатываю события мыши и клавиатуры, мне нравится делать это в браузере с помощью jQuery. Это отделяет взаимодействие пользователя от контроллера и обеспечивает лучшую развязку между уровнем пользовательского интерфейса и «бизнес-уровнем».
Если мне нужно обновить часть моей страницы с помощью вызова AJAX или вызова JSON , Мне все равно придется это делать, независимо от того, назову ли я это MVC или MVP.
ASP.NET WebForms, например, пытается подражать богатому клиенту парадигма развития с использованием ViewState. Вот почему многие попытки применять шаблоны к ASP.NET, сосредоточиться на шаблон MVP, потому что MVP узор больше подходит для богатых клиентское приложение с графическим интерфейсом компоненты.
Однако многие веб-платформы поддерживают безгражданство Интернета и отказаться от попыток смоделировать разработка полнофункционального клиента среда. В таких системах измененный шаблон MVC больше
Понятно, что Фил рассматривает (измененную форму) MVC как переход к более тонкому клиенту без сохранения состояния, тогда как MVP возлагает большую ответственность на уровень пользовательского интерфейса за обеспечение богатого взаимодействия с пользователем.
Это действительно так. хорошо это или нет - это субъективно. Если ASP.NET - это MVP, а ASP.NET MVC - это MVC, я с радостью приму инициалы MVC, чтобы отказаться от таких вещей, как состояние просмотра и тупая логика.