Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > MVC + динамика(ajax)


Автор: AGENTxXx 16.5.2012, 21:39
Добрый вечер, Дорогие форумчане!

Столкнулся с неудобством подхода MVC и динамики, реализованной, например, ajax.
Дело в следующем: если есть устоявшаяся структура (а MVC как раз это предполагает), но хотелось бы сделать, например, удаление на лету сообщений. Для этого было бы гораздо удобнее сделать отдельный файл php со скриптом и с помощью функции ajax обращаться к нему.. Ну тут неувязочка... тот скрипт ни чего не знает о БД, о константах, которые используются.... т.е. придется все туда подключать... а через include иногда это невозможно... если например работаем с captch'ей. В общем, хотелось бы узнать у тех, кто работает в MVC, каким образом они делают подобную динамику.

Заранее большое спасибо всем! =)

Автор: Fortop 16.5.2012, 21:51
А причем тут MVC и ajax?

Одно другому никак не мешает.
Вызывайте через ajax свой контроллер и пусть он обращается к модели за удалением сообщения.

Автор: MoLeX 17.5.2012, 05:40
AGENTxXx, при обращение через AJAX, в глобальной переменной $_SERVER появляется новое значение
Код

var_dump($_SERVER['HTTP_X_REQUESTED_WITH']);

вот по ней и смотрите как надо отдать ответ. А обращение оставьте по старому (через <a href="url">link</a>), просто повести обработчик на JS. Это позволит избежать проблем, когда у клиента отключен JS 

Автор: Aliance 17.5.2012, 09:41
Можно почитать про вещь, которая в контексте ZF называется contextSwitch. И реализовать у себя аналог.

Автор: AGENTxXx 17.5.2012, 10:46
Fortop - в данном случае так и делал! Но считаю не очень эт удобно..
Ну раньше без MVC кода прогал, то было удобнее, через JS вызывал и все ок! А тут - придется к контроллеру опять обращаться.. Ну в общем понял, что все видно так и делают.

MoLeX - на счет - JS и href - спасибо. Что т в последнее время.. да и вообще так не делал))) Я обходился как то noscript и в нем замечанием)))

Aliance - хорошо, посмотрю. Может это именно то, что нужно! =)


Автор: ksnk 17.5.2012, 10:55
Цитата(AGENTxXx @  17.5.2012,  10:46 Найти цитируемый пост)
 А тут - придется к контроллеру опять обращаться.. Ну в общем понял, что все видно так и делают.

Вообще-то MVC для того и придуман, чтобы все так делали smile 

Автор: AGENTxXx 17.5.2012, 14:07
ksnk - в MVC ни чего не говорится о динамическом взаимодействии (ну где я читал, точно). А для каждого подхода - есть и свои хитрости. Это точно также, как MVC применили к PHP частично ущемляя подходы в стиле ООП - применяют в основном MVC для процедурного подхода в PHP

Автор: Guedda 17.5.2012, 14:27
Цитата(AGENTxXx @  17.5.2012,  15:07 Найти цитируемый пост)
 в MVC ни чего не говорится о динамическом взаимодействии

А при чем тут, извините, динамическое взаимодействие? Принцип хоть при динамическом, хоть при статическом, остается один и тот же - представление обращается к контроллеру (в данном случае). А как оно это делает (через пост, гет, аякс, мысленно) - это уже не парадигма MVC. Суть остается сутью. 
Цитата(AGENTxXx @  17.5.2012,  15:07 Найти цитируемый пост)
MVC применили к PHP

Пожалуйста, не говорите ерунды. Никто ничего ни к чему не применял. Вы о чем вообще?

Автор: Sentox 17.5.2012, 16:54
AGENTxXx, 
Цитата

Это точно также, как MVC применили к PHP частично ущемляя подходы в стиле ООП - применяют в основном MVC для процедурного подхода в PHP 


Гммм ... MVC всего лишь структурное расслоение системы, а как использовать тот же слой служб контроллеров уже зависит от разработчика. Фактически и в основном, в этой модели, контроллеры являются службами содержащими сценарии, почему и называются контроллерами сценариев. Но если сам метод будет очень "тонким" и будет содержать только логику управления, соответственно вся бизнес-логика ляжет на предметную область, тогда будет ООП "чистым", иначе, чем "толще" контроллер со сценарием, будет превращаться больше в процедурную (сценарий транзакции или табличный модуль, скорее всего последнее) схему в методе. 
Опять же для каждой задачи свой принцип лучше.

AGENTxXx, 
Цитата

Столкнулся с неудобством подхода MVC и динамики, реализованной, например, ajax.


Да, это так, но только при одном условии, если слой View со своей бизнес логикой находится в основном на клиенте. Тогда удобней модель FrontController и PageController.
 Хотя в принципе можно построить любую схему только на основе слоя служб в виде контроллеров сценариев, бизнес-логики (например Strategy) и слоя данных (например на основе шлюзов данных или ещё лучше ActiveRecord + Gateway).

Добавлено @ 17:02
Цитата

Ну тут неувязочка... тот скрипт ни чего не знает о БД, о константах, которые используются.... т.е. придется все туда подключать... а через include иногда это невозможно... если например работаем с captch'ей. 


Этим как раз занимается слой служб ApplicationController.

Автор: Sentox 17.5.2012, 17:20
Guedda, 
Цитата

А при чем тут, извините, динамическое взаимодействие? Принцип хоть при динамическом, хоть при статическом, остается один и тот же - представление обращается к контроллеру (в данном случае). А как оно это делает (через пост, гет, аякс, мысленно) - это уже не парадигма MVC. Суть остается сутью. 


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

Автор: Fortop 17.5.2012, 20:49
Цитата(Sentox @  17.5.2012,  17:20 Найти цитируемый пост)
Если клиент (например на JS или на JAVA) содержит логику слоя представления и некоторую часть бизнес логики, смысл в MVC для сервера пропадает, да же становится не удобным и не нужным.

это не смысл в MVC пропадает. Это вы нарушили его парадигму.

Автор: Sentox 17.5.2012, 21:06
Цитата(Fortop @ 17.5.2012,  20:49)
Цитата(Sentox @  17.5.2012,  17:20 Найти цитируемый пост)
Если клиент (например на JS или на JAVA) содержит логику слоя представления и некоторую часть бизнес логики, смысл в MVC для сервера пропадает, да же становится не удобным и не нужным.

это не смысл в MVC пропадает. Это вы нарушили его парадигму.

Хммм .... вообще то я о построении архитектуры изначально. 
Если клиент "толстый" то MVC на сервере несостоятельно в этом контексте.  Впринципе довольно несложно рефакторить систему из MVC, если потребуется переход на толстый клиент. Сам принцип переноса слоя представления на клиент уже делает часть View на сервере просто ненужной и не используемой.

Автор: Fortop 17.5.2012, 22:02
Цитата(Sentox @  17.5.2012,  21:06 Найти цитируемый пост)
Сам принцип переноса слоя представления на клиент уже делает часть View на сервере просто ненужной и не используемой.

Во-первых, у вас 1но приложение, а не два разных.
Во-вторых, все веб приложения в той или иной степени переносят слой представления на клиент, что ничуть не опровергает архитектуру MVC.

В-третьих
Цитата(Sentox @  17.5.2012,  17:20 Найти цитируемый пост)
смысл в MVC для сервера пропадает

Цитата(Sentox @  17.5.2012,  21:06 Найти цитируемый пост)
 уже делает часть View на сервере


Вы уж определитесь, то ли MVC у вас становится ненужным как архитектура, то ли view 

Автор: AGENTxXx 17.5.2012, 22:29
Guedda - не совсем понял ваше цитирование моих слов! Я с ними полностью согласен. MVC - для ООП, а в php часто пользуются процедурным подходом применяя MVC!

Так что давайте по делу! Есть ли те, кто не через контроллер делает, а другим подходом? =)

P.S. Ребята, я понимаю что вы все хотите помочь, но основной вопрос все же был - как сделать удобнее динамические обращения. Ну вот смотрите: есть у нас контроллер, к которому мы должны обратиться и он пошлет нас по адресу. Ну а контроллер весит например 500 кб, а нужная нам часть - всего 10 кб. В итоге затраты 490 кб лишних... В общем - то ли тех, кто на MVC и с динамикой - все устраивает, то ли я чтот не так делаю..... 

Автор: Sentox 17.5.2012, 22:58
Цитата(Fortop @ 17.5.2012,  22:02)
Вы уж определитесь, то ли MVC у вас становится ненужным как архитектура, то ли view

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

Цитата

Во-первых, у вас 1но приложение, а не два разных.
Во-вторых, все веб приложения в той или иной степени переносят слой представления на клиент, что ничуть не опровергает архитектуру MVC.


Вы наверное немного недопонимаете концепцию слоёв и уровней. Слой системы может находится на физическом уровне клиента.
Я ж специально привёл примеры его программирования на других языках. Допустим тот же слой представления (часть View от MVC) будет на клиенте реализован в JS, тогда часть View просто не используется в этой архитектуре на PHP. И это всё 
Цитата

у вас 1но приложение


Пример: есть толстый клиент написанный на JS и выполняет полностью логику представления (шаблонизация)(кстати ещё лучше пример с пользовательскими скриптами для браузеров). Используя YII (MVC) уровень представления почти не используется только активно учавствует Controller<->ModelData. На сервере только хранятся шаблоны html, которые использует JS на клиенте. Тот же эффект и на клиенте JAVA да же со своими окнами но шаблоны в другом формате.

Автор: ksnk 18.5.2012, 00:20
Цитата(AGENTxXx @  17.5.2012,  22:29 Найти цитируемый пост)
Так что давайте по делу! Есть ли те, кто не через контроллер делает, а другим подходом? =)

 smile 
Это как? Без MVC? 

Автор: MoLeX 18.5.2012, 05:50
Цитата(AGENTxXx @  17.5.2012,  22:29 Найти цитируемый пост)
Ну а контроллер весит например 500 кб, а нужная нам часть - всего 10 кб. В итоге затраты 490 кб лишних...

эм. что именно весит - готовый ответ или исполняемый код?

Автор: Fortop 18.5.2012, 07:30
Цитата(AGENTxXx @  17.5.2012,  22:29 Найти цитируемый пост)
 Ну а контроллер весит например 500 кб, а нужная нам часть - всего 10 кб

Неправильно организовано приложение.
Осуществите декомпозицию. Вероятно у вас там смешаны в кучу и модели и несколько контроллеров.


Цитата(Sentox @  17.5.2012,  22:58 Найти цитируемый пост)
Вы наверное немного недопонимаете концепцию слоёв и уровней. Слой системы может находится на физическом уровне клиента.
Я ж специально привёл примеры его программирования на других языках. Допустим тот же слой представления (часть View от MVC) будет на клиенте реализован в JS, тогда часть View просто не используется в этой архитектуре на PHP. И это всё 

Вот сейчас мы и разберемся, кто недопонимает.


MVC как парадигма не зависит от языка.
Более того, MVC вполне свободно ложится на архитектуру клиент-сервер.

А вот тот факт, что вы ваше приложение не в состоянии воспринять как единое целое и ожидаете обязательного наличия реализации View на сервере показывает ваш уровень понимания MVC как архитектуры.

Тем не менее, MVC не единственная парадигма (просто в условиях публичного web наличие толстых клиентов редкость).
Существует еще к примеру multi-tier архитектура.
Только это не ваш случай.

P.S. А есть еще и MVP, почитайте и о нем тоже.

Автор: AGENTxXx 18.5.2012, 08:36
Что т я уже сам запутываюсь.

ksnk - думаю да, тут с этим может быть придется выйти за рамки

MoLeX - не совсем понял, что не так =)

Давайте опишу лучше то, как у меня организована связь, а вы меня покритикуете!
1. В модели есть функция, например, удаления новости.
2. Также в модели есть функция формирования новостей, которая вызывается в VIEWе
3. В Контроллере осуществляется подключение всех необходимых файлов: Переменных, файл конфига, файл БД, стандартные функции обработки, стандартные функции отображения.
4. Ajax функция - в отдельном js файле и подключается в файле index.php
5. При нажатии на кнопку удалить, я отправляю запрос controllerу, контроллер, по GET параметру находит, что такую то новость надо удалить и вызывает из модели функцию удаления.
6. Функция возвращает true или false.
7. Далее контроллер прерывается с помощью функции exit().
8. Конец =)

Кто может сказать, каким образом можно подлатать? Может быть выделить спец. контролл и модель, которая как раз будет заниматься динамикой => в контролле не будет лишней информации, а в запросе ajax добавится новый параметр, который как раз укажет, из какой, например, таблицы нужно удалять... и засунуть может все это в папку libs)))

Автор: MoLeX 18.5.2012, 09:03
AGENTxXx, http://forum.vingrad.ru/index.php?showtopic=351939&view=findpost&p=2489963. 

Автор: Guedda 18.5.2012, 09:04
Цитата(AGENTxXx @  18.5.2012,  09:36 Найти цитируемый пост)
2. Также в модели есть функция формирования новостей, которая вызывается в VIEWе
3. В Контроллере осуществляется подключение всех необходимых файлов: Переменных, файл конфига, файл БД, стандартные функции обработки, стандартные функции отображения.

Насколько Вы здесь описали, я понимаю, вы путаете понятия моделей и контроллеров. А если не путаете, значит Вы полностью нарушаете парадигму MVC. Представление не должно обращаться к модели, а контроллеры не должны инициализировать БД.
Цитата(AGENTxXx @  18.5.2012,  09:36 Найти цитируемый пост)
Кто может сказать, каким образом можно подлатать? Может быть выделить спец. контролл и модель, которая как раз будет заниматься динамикой => в контролле не будет лишней информации, а в запросе ajax добавится новый параметр, который как раз укажет, из какой, например, таблицы нужно удалять... и засунуть может все это в папку libs))) 

Можно сделать отдельный контроллер с методами, с которыми будет работать только аякс. Один из выходов.  smile 

Автор: AGENTxXx 18.5.2012, 10:34
MoLeX - видно не совсем удачный пример привел! Я говорил про исходный код! 
Да, можно утверждать, что такого быть не может и значит что то сделано не правильно... но всякое ведь бывает... Подключаемые файлы могут спокойно исходный код до 500 кб догнать - это мое мнение!

Guedda - эм... Как я читал и смотрел, модель должна содержать функции для работы, контроллер - управление этими функциями, вью - отображение информации... Где здесь опечатка? Или что не правильно я понял?


Может кто нибудь дать хорошую ссылку на MVC - чтобы все же правильно все сделал... Видно я что то не допонимаю(((   Ну а то, что некоторые считают как раз нормальный вариант: "Можно сделать отдельный контроллер с методами, с которыми будет работать только аякс" - в общем, этот подход меня устраивает. Киньте ссылку плиззз, и можно тему будет закрыть! Всем большое спасибо!!!  smile 

Автор: Guedda 18.5.2012, 11:49
Цитата(AGENTxXx @  18.5.2012,  11:34 Найти цитируемый пост)
эм... Как я читал и смотрел, модель должна содержать функции для работы, контроллер - управление этими функциями, вью - отображение информации... Где здесь опечатка? Или что не правильно я понял?

Модель описывает данные (таблицу, допустим) и содержит функции непосредственно с этими данными. Контроллер, в свою очередь, является связующим звеном между моделью и представлением (вставляет данные из модели в страницу (представление) - если примитивно говорить).
А у тебя получается, что представление обращается непосредственно к модели (как я понял) - а это неправильно.

Цитата(AGENTxXx @  18.5.2012,  11:34 Найти цитируемый пост)
Может кто нибудь дать хорошую ссылку на MVC

Как я понимаю, тебе необходима ссылка на страницу, где рассказывают о MVC? http://ru.wikipedia.org/wiki/Model-View-Controller (особенно внимательно вчитайся в раздел "Концепция").

Автор: Sentox 18.5.2012, 13:42
Цитата

А вот тот факт, что вы ваше приложение не в состоянии воспринять как единое целое и ожидаете обязательного наличия реализации View на сервере показывает ваш уровень понимания MVC как архитектуры.


 smile Я всё время показывал что наоборот View не обязателен при реализации его на клиенте

Цитата

MVC как парадигма не зависит от языка.
Более того, MVC вполне свободно ложится на архитектуру клиент-сервер.


Это понятно, только разговор про серверную часть. Если на сервере Controller<->Model а на клиенте View - это не есть MVC, никак.
Почему, я объясню. 
Потому как клиент может содержать и примитивную бизнес-логику по работе с данными минуя controller-model обращаясь непосредственно к данным, это во многих случаях оправдано. Да и тот факт, что следует применять концепцию паттернов (а MVC есть паттерн) в пределах одного физического уровня, указывает на то что это опять же не MVC, если слой представления перенсён на другой физический уровень. 
Отсюда следует что концепция слоёв и уровней это не то же самое что накладывание паттернов на одно приложение, если они да же распределены удалённо. Это очень усложняет систему и её поддержку. Применение паттернов должно быть применено в пределах одного физического уровня иначе система будет слишком жёсткая и связная.

Цитата

Тем не менее, MVC не единственная парадигма (просто в условиях публичного web наличие толстых клиентов редкость).
Существует еще к примеру multi-tier архитектура.
Только это не ваш случай.

Читаем мой пост выше про служебные слои, стратегии и модели данных.

Цитата

Существует еще к примеру multi-tier архитектура.


Это совершенно отдельный разговор распределённых систем, сюда вообще не входит.

Цитата

(просто в условиях публичного web наличие толстых клиентов редкость)

Тем не менее есть, я такую уже делал. У меня на клиенте был реализован паттерн MVC ! smile
Кстати пример такой системы - это gmail почта.

С уважением smile

Автор: Fortop 18.5.2012, 13:47
Цитата(Guedda @  18.5.2012,  09:04 Найти цитируемый пост)
Представление не должно обращаться к модели

Разве? smile

http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

Добавлено через 6 минут и 7 секунд
Цитата(Sentox @  18.5.2012,  13:42 Найти цитируемый пост)
Я всё время показывал что наоборот View не обязателен при реализации его на клиенте

У вас какой-то сторонний клиент вне вашего приложения? smile 
И при этом знает что-то о вашем приложении?
Покажите мне такой.


Цитата(Sentox @  18.5.2012,  13:42 Найти цитируемый пост)
Это понятно, только разговор про серверную часть.

Где?
Цитата(AGENTxXx @  16.5.2012,  21:39 Найти цитируемый пост)
Столкнулся с неудобством подхода MVC и динамики, реализованной, например, ajax.


Аякс у нас теперь серверная технология? Да вы гуру!  smile

 
Цитата(Sentox @  18.5.2012,  13:42 Найти цитируемый пост)
Читаем мой пост выше про служебные слои, стратегии и модели данных.

Он малость ужасен.

Цитата(Sentox @  17.5.2012,  16:54 Найти цитируемый пост)
Да, это так, но только при одном условии, если слой View со своей бизнес логикой находится в основном на клиенте. Тогда удобней модель FrontController и PageController.
 Хотя в принципе можно построить любую схему только на основе слоя служб в виде контроллеров сценариев, бизнес-логики (например Strategy) и слоя данных (например на основе шлюзов данных или ещё лучше ActiveRecord + Gateway).

Цитата(Sentox @  17.5.2012,  16:54 Найти цитируемый пост)
Этим как раз занимается слой служб ApplicationController.

Цитата(Sentox @  17.5.2012,  16:54 Найти цитируемый пост)
 MVC всего лишь структурное расслоение системы, а как использовать тот же слой служб контроллеров уже зависит от разработчика. Фактически и в основном, в этой модели, контроллеры являются службами содержащими сценарии, почему и называются контроллерами сценариев

Кто-нибудь понял что тут пытались сказать?

Цитата(Sentox @  17.5.2012,  16:54 Найти цитируемый пост)
контроллерами сценариев

Можно этимологию этого термина? Я несколько не понимаю что вы хотите сказать.

Добавлено через 7 минут и 30 секунд
Цитата(Sentox @  18.5.2012,  13:42 Найти цитируемый пост)
отдельный разговор распределённых систем, сюда вообще не входит.

Каких еще распределенных систем?  smile 

Автор: Guedda 18.5.2012, 13:57
Цитата(Fortop @  18.5.2012,  14:47 Найти цитируемый пост)
Разве? 

Разве. Графическое представление MVC - везде и всегда:
user posted image

Видите стрелку Model->View?

Для меня Стив Барбек (?) не является "отцом" MVC и я привык доверять нескольким источникам сразу, а не словам какого-то незнакомого мне человека.

Автор: Sentox 18.5.2012, 14:06
Fortop, 
Цитата

Цитата(Sentox @  17.5.2012,  16:54 Найти цитируемый пост)
 MVC всего лишь структурное расслоение системы, а как использовать тот же слой служб контроллеров уже зависит от разработчика. Фактически и в основном, в этой модели, контроллеры являются службами содержащими сценарии, почему и называются контроллерами сценариев

Кто-нибудь понял что тут пытались сказать?


Наверное я поспешил что то показывать, ну ок.
К Фаулеру и Мартину стоит обратится за помощью. smile тогда можно будет о чём то общаться.
"Шаблоны корпоративных приложений" (М. Фаулер) , одно из лучших пояснений MVC да вообще очень хорошо расписан механизм построения архитектуры приложений и концепции расслоения системы.

Ах да, по поводу сценариев ещё стоит познакомится с UC UML

Цитата

Добавлено через 6 минут и 7 секунд
Цитата(Sentox @  18.5.2012,  13:42 Найти цитируемый пост)
Я всё время показывал что наоборот View не обязателен при реализации его на клиенте

У вас какой-то сторонний клиент вне вашего приложения? smile 
И при этом знает что-то о вашем приложении?
Покажите мне такой.


Ещё раз, gmail почтовик можно посмотреть.
Клиент знает о приложении только по его API, что делает его переносимым и не связным.
API закладываются в url ajax запросов

Автор: Sentox 18.5.2012, 14:37
Цитата(Guedda @ 18.5.2012,  13:57)
Цитата(Fortop @  18.5.2012,  14:47 Найти цитируемый пост)
Разве? 

Разве. Графическое представление MVC - везде и всегда:
[/IMG]

Видите стрелку Model->View?

Для меня Стив Барбек (?) не является "отцом" MVC и я привык доверять нескольким источникам сразу, а не словам какого-то незнакомого мне человека.

smile
Это уже потянет холивар.
Допустим в YII реализован MVC с доступом модели представления к модели данных, иногда это более чем нужно. 
Если не предоставить модели представления доступа к модели данных и наоборот получим более толстую модель контроллера, который должен обеспечить синхронность данных меду ними и взять на себя обязанность в этом. Я впринципе противник такой модели, считаю что контроллер должен заниматься только управлением и передачей моделеи представления к модели данных, что соответственно добавляет стрелку на рисунке между моделями.
Опять же повторюсь это холивар smile, и для каждой задачи свой подход наиболее удобен.

В завершении smile
MVC как и все паттерны не жёсткая парадигма, которая должна управлять разработчиками, наоборот она может гибко изменяться (как и все паттерны) взависимости от задач поставленных бизнеc-логикой, но не наоборот.

Автор: Fortop 18.5.2012, 15:07
Guedda, у Фаулера я не встречал упоминания об ограничении обращения представления к модели.
Вы можете привести источники где это указано?

И, да, обычно ваша схема MVC дополняется как минимум пунктирной связью модель-представление smile
http://java.sun.com/blueprints/patterns/MVC-detailed.html
это достаточно авторитетный для вас источник? smile


Автор: AGENTxXx 18.5.2012, 15:12
Guedda - спасибо, почитаю там


Цитата(Sentox @  18.5.2012,  14:37 Найти цитируемый пост)
MVC как и все паттерны не жёсткая парадигма, которая должна управлять разработчиками, наоборот она может гибко изменяться (как и все паттерны) взависимости от задач поставленных бизнеc-логикой, но не наоборот.
 - с этим согласен =)



Цитата(Fortop @  18.5.2012,  13:47 Найти цитируемый пост)
Аякс у нас теперь серверная технология? Да вы гуру!  
 - видно я не знаю еще про технологию, которая неведанным образом передает ajax скрипт с сервера клиенту... Как еще другим образом из того, что я сказал можно было понять, что ajax - это серверная технология я не знаю..... Я бы сказал, что Ajax - это все же клиент-серверная технология! Или вас напрягает слово - "технология"? Если так, то хорошо, не технология, а подход! 

Из кучи информации, полезным в постах оказалась - ссылка и изображение! 

Автор: Guedda 18.5.2012, 15:14
Цитата(Fortop @  18.5.2012,  16:07 Найти цитируемый пост)
достаточно авторитетный для вас источник?

Достаточно smile Спасибо за ссылку, почитаю. 

Автор: Fortop 18.5.2012, 15:19
Цитата(Sentox @  18.5.2012,  14:06 Найти цитируемый пост)
Ах да, по поводу сценариев ещё стоит познакомится с UC UML

Вот не гуру UML smile что такое UC? 
use case? И с каких дел вы его сюда примешиваете?

Цитата(Sentox @  18.5.2012,  14:06 Найти цитируемый пост)
К Фаулеру и Мартину стоит обратится за помощью.  тогда можно будет о чём то общаться.

Хорошо smile я подожду.
Как осилите его. Пообщаемся smile

Цитата(Sentox @  18.5.2012,  14:06 Найти цитируемый пост)
Ещё раз, gmail почтовик можно посмотреть.
Клиент знает о приложении только по его API, что делает его переносимым и не связным.
API закладываются в url ajax запросов

Ох, какие сложности с прочтением моих вопросов.
Думаю срок на изучение Patterns of Enterprise Application Architecture вам надо утроить.
 
Я спрашивал про сторонний клиент.
Что в gmail стороннего?

Добавлено через 3 минуты и 59 секунд
Цитата(AGENTxXx @  18.5.2012,  10:34 Найти цитируемый пост)
Подключаемые файлы могут спокойно исходный код до 500 кб догнать - это мое мнение!

Он в опкод кешере. Поэтому это вас не должно волновать.

Плюс autoload позволяет подгружать лишь то, что действительно используется.
Если, конечно, у вас проведена декомпозиция и нет монстроузных классов.

Добавлено через 14 минут и 32 секунды
Цитата(AGENTxXx @  18.5.2012,  15:12 Найти цитируемый пост)
- видно я не знаю еще про технологию, которая неведанным образом передает ajax скрипт с сервера клиенту... Как еще другим образом из того, что я сказал можно было понять, что ajax - это серверная технология я не знаю..... 

Это было не вам smile
Это из высказываний Sentox следовало.

Автор: Sanchezzz 18.5.2012, 19:10
MVC лишние в PHP хуеву тучу времени отнимает при  доработке напилиного не одним месяцем работы, вполне достаточно
autoload + годами наработанные полезные функции, класс синглитон для PDO, гибкий собственный mod-rewrite или как у меня настраивается через веб интерфейс






Автор: Sentox 18.5.2012, 21:30
Fortop, 
Цитата

Цитата(Sentox @  18.5.2012,  14:06 Найти цитируемый пост)
Ах да, по поводу сценариев ещё стоит познакомится с UC UML

Вот не гуру UML smile что такое UC? 
use case? И с каких дел вы его сюда примешиваете?

Цитата(Sentox @  18.5.2012,  14:06 Найти цитируемый пост)
К Фаулеру и Мартину стоит обратится за помощью.  тогда можно будет о чём то общаться.

Хорошо smile я подожду.
Как осилите его. Пообщаемся smile


Если Вы хорошо знаете Фаулера, стоило бы знать его предпочтения в терминологии.
"Шаблоны корпоративных приложений" (Фаулер) часть 1. Обзор, гл. Уровень служб, стр.57

Цитата

Главная особенность модели заключается в том, что логика, относящаяся к отдельным транзакциям или вариантам использования, распологается в соответствующих сценариях транзакций, которые в данном случае называют контроллерами (или службами). Они выполняют роль входных контроллеров в типовых решениях модель-представление-контроллер (Model View Controller) и контроллер приложения (Application Controller) и поэтому называются также контроллерами вариантов использования (use case controller).


Осиливайте smile 
C растущим уважением!

Автор: Fortop 18.5.2012, 23:31
Цитата(Sentox @  18.5.2012,  21:30 Найти цитируемый пост)
Если Вы хорошо знаете Фаулера, стоило бы знать его предпочтения в терминологии.

Точно стоило бы знать? smile

Даже в форме такого искажения? smile
Цитата(Sentox @  17.5.2012,  16:54 Найти цитируемый пост)
в виде контроллеров сценариев

Цитата(Fowler @  18.5.2012,  21:30 Найти цитируемый пост)
Главная особенность модели заключается в том, что логика, относящаяся к отдельным транзакциям или вариантам использования, распологается в соответствующих сценариях транзакций, которые в данном случае называют контроллерами (или службами)


Где ваша терминология и где Фаулер? smile

Вот вам еще образчик smile вашего понимания
Цитата(Sentox @  18.5.2012,  13:42 Найти цитируемый пост)
Да и тот факт, что следует применять концепцию паттернов (а MVC есть паттерн) в пределах одного физического уровня, указывает на то что это опять же не MVC, если слой представления перенсён на другой физический уровень. 

И сравните с описанным тут smile
http://java.sun.com/blueprints/patterns/MVC-detailed.html

Про UC UML я ответ услышу? Я действительно не понимаю о чем вы пытались мне сообщить smile
Или это опять ваша трактовка вот этого?
Цитата(Fowler @  18.5.2012,  21:30)
(use case controller)

Автор: Sentox 19.5.2012, 00:31
Fortop, 
Цитата

Где ваша терминология и где Фаулер? smile


Я рад что Вас рассмешил smile
Значит на это позитивной для Вас ноте завершим дискуссию.
Как говаривал дядюшка Боб (Роберт Мартин), если дискуссия длится более получаса (в нашем случае три страницы  smile ) с совершенно бесполезным результатом лучше её закончить.

С уважением к Вам, без сарказма, не принимайте это как подкол. smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)