[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ajax и MVC
mvg
Рефакторю понемногу магазин, разминаюсь после праздников, чтобы форму поднабрать к послепраздничным дням и по ходу дела задумался о таком:

Если у меня движок основан на MVC и тут, например в корзине, я нажимаю кнопку добавить которая отправляет запрос на сервер. Запрос ajax должен попасть на точку входа которая загрузит модель, контролер, визио, а потом контроллер меня отправит на скриптик который вызовет AddToCarts() или же можно напрямую слать запрос на маленький скриптик который вызовет AddToCarts().

Я конечно за последний вариант потому что по весу меньше!, но с другой стороны: че зазря неделю на MVC потратил! И тут вопрос: Как оно правильно то делается с использованием MVC?

П.С. весь код на самописе без фрэймворков, но с паттернами.

Офф топ: почему за 5 сек тема набрала 1370 просмотров? Новая фишка форума или глюк в системе?
sergeiss
Цитата (mvg @ 9.01.2015 - 18:27)
почему за 5 сек тема набрала 1370 просмотров?

Ты про "просмотры" в списке тем или "рейтинг просмотров" на главной странице? Это разные вещи.

Цитата (mvg @ 9.01.2015 - 18:27)
или же можно напрямую слать запрос на маленький скриптик который вызовет AddToCarts().

Зачем лишнее грузить? Отсылай напрямую. В "правильных" системах так и делается smile.gif

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
waldicom
Цитата (sergeiss @ 9.01.2015 - 15:54)
Зачем лишнее грузить? Отсылай напрямую. В "правильных" системах так и делается

Что значит напрямую? Надо написать маленький скриптик, который будет дергать AddToCarts()? Что за, простите за выражение, чушь?

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
sergeiss
Цитата (waldicom @ 9.01.2015 - 19:12)
Что за, простите за выражение, чушь?

Где ты видишь "чушь"?

ТС что спросил? Один из 2-х вариантов (цитирую):
Цитата
1. Запрос ajax должен попасть на точку входа которая загрузит модель, контролер, визио, а потом контроллер меня отправит на скриптик который вызовет AddToCarts()
2. или же можно напрямую слать запрос на маленький скриптик который вызовет AddToCarts()


Я ему ответил, что вариант 2 более правильный, ибо нефиг грузить MVC только ради того, чтобы его загрузить.

Ну так и где тут "чушь"???

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
waldicom
"Чушь" в том, что автор хочет сделать для этого отдельный скрипт. А в MVC так не делается.

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
mvg
Цитата (sergeiss @ 9.01.2015 - 17:54)
Цитата (mvg @ 9.01.2015 - 18:27)
почему за 5 сек тема набрала 1370 просмотров?

Ты про "просмотры" в списке тем или "рейтинг просмотров" на главной странице? Это разные вещи.

Про рейтинг просмотров
mvg
Цитата (sergeiss @ 9.01.2015 - 18:19)
Ибо нефиг грузить MVC только ради того, чтобы его загрузить.

Главное соблюсти целостность и единство объектного стиля. Отсюда получится что надо либо вторую точку входа которая будет выполнять запросы по упрощенной модели. Встречал системы подобного типа. Либо воротить все по общей модели загрузки страниц.
sergeiss
Цитата (waldicom @ 9.01.2015 - 19:32)
А в MVC так не делается.

MVC ради MVC??? Делается, делается. Вовсе не обязательно грузить всю структуру, чтобы сделать небольшой запрос в БД и вернуть данные вызывающему скрипту.

Цитата (mvg @ 9.01.2015 - 19:58)
Главное соблюсти целостность и единство объектного стиля.  Отсюда получится что надо либо вторую точку входа которая будет выполнять запросы по упрощенной модели.

"Тебе с шашечками или ехать?" wink.gif Ты уж определись. MVC, также как и ООП, не надо доводить до абсурда. И то, и другое - инструменты, которые надо использовать там, где они нужны.
Допустим, у тебя используется автозаполнение в поле. Юзер вводит букоФФки, они отправляются на сервер. Сервер ищет какие-то соответствия в БД и возвращает список, который передается в браузер. И ты будешь каждый раз грузить всю свою мощную структуру сайта, только ради мифической целостности объектного стиля (предположим, что сайт достаточно навороченный)? Или ты все-таки минимизируешь время работы скрипта за счет того, что загрузишь только всё минимально необходимое (та самая "вторая точка входа", о которой ты говорил)?

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
McLotos
а чего все вдруг опять помешались на mvc? Это же не стандарт, а просто рекомендация, и чем например не устроил закон Деметры? или как вариант Декоратор? да их вообще вон сколько

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
mvg
Цитата
"Тебе с шашечками или ехать?"  wink.gif

Поехал с шашечками и теперь ajax напрямую дергает модель минуя все прочие загрузки.

Цитата
да их вообще вон сколько



Взял конструктор написано феррари, инструкция к феррари, все указывает на феррари, а как соберу получается калина. Уже и так и так! И по инструкции, и интуитивно, а все равно калина. unsure.gif
sergeiss
Цитата (mvg @ 10.01.2015 - 14:02)
И по инструкции, и интуитивно, а все равно калина.

В одном анекдоте на эту тему, как раз про ВАЗ сказано про завод "место проклятое" wink.gif

А в другом анекдоте "так тут же в углу мелко написано, что надо доработать напильничком!" biggrin.gif

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
GET
Цитата
Запрос ajax должен попасть на точку входа которая загрузит модель, контролер, визио, а потом контроллер меня отправит на скриптик который вызовет AddToCarts()


Так и должно быть в "других правильных системах", просто точка входа в аякс-обработчик должна быть максимально близкой к общему входу.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
mvg
Цитата (sergeiss @ 10.01.2015 - 20:40)
Цитата (mvg @ 10.01.2015 - 14:02)
И по инструкции, и интуитивно, а все равно калина.

В одном анекдоте на эту тему, как раз про ВАЗ сказано про завод "место проклятое" wink.gif

А в другом анекдоте "так тут же в углу мелко написано, что надо доработать напильничком!" biggrin.gif

Да с напильником все.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.