![]() |
|
||||||||||
|
|||||
|
Ещё пара слов:
есть какой-то запрос от пользователя. Например, ввод фильтра. С помощью контроллера мы этот самый фильтр отправляем всячески наверх просто событием. И сегодня вводим с клавиатуры, завтра клацаем мышкой, а послезавтра вводим голосом. Обрабатываем данные тоже вне зависимости от того, как они там будут хранится. Меняем логику работы без вмешательства во внутреннее хранение. Как они будут упорядочены, как они будут отсортированы - это логика другого уровня, другой абстракции. Если смешивать что-либо, то придется в голове неизбежно оперировать как хранением, так управлением, так и отображением. Конкретно мне, когда число классов в проекте больше 50 это делать сложно. А их очень часто больше 200. Добавлено через 5 минут @silin: ты работал в динамично развивающимся проекте, в котором каждую неделю нужно что-то добавлять, менять, дорабатывать, переделывать, интегрировать или с маразматичными людьми, которые хотят использовать баннер как мозги для панелей управления космических шатлов и наоборот? Вот я как-то, когда уже вполне освоил MVC и применял его взялся за проект, такой, маленький. Всего за 300$, пару вечеров посидеть. Подумал - а к черту этот MVC, всё так просто! Потом что-то поменялось, потом ещё, потом ещё... после 2-х недельной запарки я поклялся, что больше никогда не брезгну MVC по причине "это слишком простое задание, чтобы его применить". Будь проект на нём - эти 2 недели (задержки не по моей вине были) я тратил бы на проект 15 минут вечером - подкрутить, а не час-полтора.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Цитата:
Просто о MVC так много говорят, что решил разобраться... К сожалению, или к счастью, не пришел к выводу, что это чем то лучше, чем то, как я программировал ранее. А по поводу логики, мое кунг фу говорит мне, что вся бизнес-логика(как пример, РПГ система) должна реализовываться на уровне исключительно модели. Не потому что я придерживаюсь какой то там буквы, а просто мне кажется это правильным. Т.е. я отдельно могу проектировать саму систему. Отдельно – ее представление. Причем в идеале, для представление пишется ряд кубиков-компонентов, из которых строится система путем настройки связи с моделью и настройками, и остается только рутина и минимум работы. А если игра достаточно сложная, то все остальное время можно посвятить реализации логики игры, т.е. модели которая обычно куда менее универсальна. Добавлено через 4 минуты Цитата:
__________________
Искренне Ваш, Джек. |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Цитата:
Здесь на форуме все-таки идет речь о реализации клиента. И бизнес-логика в этом контексте - это не бизнес-логика приложения, а бизнес-логика клиента. |
|
|||||
|
Регистрация: Mar 2007
Сообщений: 545
|
Цитата:
Теперь протокол поменялся / изменился источник данных (вы решили подключить АПИ одноклассников, вместо АПИ вконтакта) - будет удобнее переписывать модель или просто переключить ответственный контроллер (а в моделе сохранять данные). |
|
|||||
|
Цитата:
![]() А на счет все логики на стороне сервера, скажем для соц игр это может быть верно лишь отчасти... своя специфика, и частично на стороне клиента нужна логика, зачастую дублирующая сервак. Например заказчик говорит, все в игре должно происходить мгновенно, без всяких ожиданий от сервера(и где то он наверное прав, потому что некоторые игры иной раз бесят своей тормозутностью по каждому клику). Ну и приходится изголятся... Добавлено через 5 минут Цитата:
ООП, да и те же паттерны ведь никто не отменял? Такое ощущение, что все парадигмы и концепции ООП вдруг оказались ввнутри стратегии MVC, и за пределами ее вне существуют%) По поводу API соц сетей, я бы предположил, что даже в стретегии MVC, изменением только контролер не обойтись. Придется и представления делать разные, в некоторых случаях, и модель, и серверную часть...
__________________
Искренне Ваш, Джек. |
|
|||||
|
Регистрация: Mar 2007
Сообщений: 545
|
Цитата:
Возможно, прийдется менять и представление - оно для того и существует, чтобы можно было менять его, используя одну модель. А вот насчет модели вероятность гораздо меньше, по сути везде нужен один набор данных. Вы пытаетесь разобраться или просто откинуть все теории кроме своей? |
|
|||||
|
Полиморфизм, базовые классы и всё-всё это очень здорово. Только в реальной жизни гораздо лучше иметь под рукой и плюшки полиморфизма, и возможность переключить контроллер. А в командной разработке переключить контроллер куда проще, чем наследоваться от чьего-то другого класса. В случае наследования мы работаем с внутренней реализацией класса (которую ещё, возможно, придется допиливать чтобы можно было унаследоваться более-менее с головой), а в случае с переключением контроллера - с его внешним API, который, как правило, не нуждается в допилке, более безопасный в использовании, дружественный и документированный.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Я уже не особо пытаюсь разбираться... Потому как выше мы пришли к выводу, что здесь используется не классический MVC, а тот самый, который описа в вике как ТТУК.
Для перехода на новую соц апи Базу Данных менять не придется. Но классическая MVC модель это нечто большее чем БД. Для того что бы поменять соц апи, нужно менять не только клиент, но и сервер. Но как заметил mikhailk, здесь обсуждается только клиентская часть... А я не умею мыслить о клиенте отдельно, для клиент-серверного приложения. Для меня это целостная система. Если АПИ должно переключатся с помощью контроллера, я готов с этим согласится. Но тогда нужно определится, с комплексной архитектурой, т.е. на клиенте MVC, что тогда на сервере? С чем общается клиент(имеется с каким модулем, контроллер, модель...), ну и т.д. Потому что из поста выше я как то не смог представить всю картинку в целом... P.S. Извиняюсь если как то не так себя веду... Я не планировал разжигать никаких холиваров и споров... P.P.S. Волне впозможно что я вообще не прав, и мне просто сложно перестроиться... "Речь, конечно же, пойдёт о человеке растущим на флеше с 0, а не матёрым Java`ером, который решил переквалифицироваться." Я не Флэшер растущий с нуля. Я увлекаюсь программированием уже около 20 лет, работаю по специальности около 14, и может даже уже немного закостенел... А вот первая моя Flash-ка написанная от начала до конца, как продукт, на работе была сделана прошлым летом(до этого Flash-ем я занимался чисто ради развлечения, в свободное от работы время).
__________________
Искренне Ваш, Джек. |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Цитата:
Но, по большому счету говорить о какой-то единой архитектуре для клиента и сервера я бы не стал. В общем виде. Есть проекты, которые имеют сервера на Эрланге. Там вообще никакого ООП в принципе нет и быть не может, это функциональное программирование в чистом виде. |
|
|||||
|
[+1 24.11.10]
Регистрация: Jun 2010
Сообщений: 280
|
Цитата:
Добавлено через 4 минуты MVC - не паттерн, а архитектурное решение. Это MVC может реализоваться рядом паттернов, но не наоборот.
__________________
Ведь я только всего и хочу, чтобы все всегда было по-моему... |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:36. |
|
|
« Предыдущая тема | Следующая тема » |
|
|