Думаете об AJAX как о контроллере модели-представления? - PullRequest
1 голос
/ 06 августа 2009

Я думаю об AJAX следующим образом:

  • Модель: на стороне сервера, где данные хранятся и предоставляются через веб-сервисы. В некотором смысле это контроллер модели-представления в более крупном контроллере модели-модели (модель = данные, представление = XML или некоторая другая структура данных, доступная для анализа, контроллер = код на стороне сервера, который управляет данными).
  • Просмотр: XHTML / DOM
  • Контроллер: Javascript / JQuery

Это разумный способ думать о программировании AJAX?

Ответы [ 2 ]

3 голосов
/ 06 августа 2009

Ты тоже, да?

Да. Я думаю, что это очень хороший способ структурировать редактировать операций.

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

Таким образом, используя оба подхода, вы сталкиваетесь с гибридной проблемой, а не с проблемой «разбить прямоугольник», когда вы никогда не можете ничего добавить в закладки, отправить ссылки своим друзьям или заставить поисковые системы создавать [хорошие] ссылки. *


8/10: Полагаю, это также означает, что вы должны думать о "серверной" стороне вашего приложения как о "REST" -слуге, в идеале. Кроме того, убедитесь, что не попадаете в ловушку, думая, что клиентский код каким-либо образом безопасен (или даже «неясен»). Убедитесь, что поддерживающие «сервисные вызовы» обратно на ваш веб-сервер имеют хорошую инфраструктуру безопасности.

2 голосов
/ 06 августа 2009

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

Это скорее организация MWE (Модель, Виджет, Событие) с кодом события, занимающим место или упаковывающим код Контроллера.

...