Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=53)
-   -   Как часто вы используете обсерверы, синглтоны и прочую глобальную муть в проектах (http://www.flasher.ru/forum/showthread.php?t=167932)

Dukobpa3 14.09.2011 17:38

Как часто вы используете обсерверы, синглтоны и прочую глобальную муть в проектах
 
Я в крупных использую.
Сейчас на одном маленьком попробовал без этого. Остался доволен. Но это в проекте с парой десятков классов не считая внешних фреймворков.

В чем-то посерьезнее я думаю довольно-таки сложно наладить коммуникации.

Здесь у меня получается что мейнКонтроллер подписан на прослушиввание от хоста событий вьюх,а во вьюхах практически все события бабблятся. И вот эти события обрабатываются частично "маленькими" контроллерами, а частично доплывают аж до мейнХоста и там обрабатываются мейнКонтроллером.

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

Поделитесь своим опытом и соображением на эти темы.

GBee 14.09.2011 20:21

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

Котяра 14.09.2011 22:43

Практически не использую. Разве что какой нибудь логгер. Изредка EventBus из as3commons и Lang оттуда же.

fish_r 15.09.2011 02:03

Вот сейчас использую в проекте основанном на Gaia. И то не синглтон, а мувик который приспособил под это дело. Это такой костылище! Но иначе контролировать все пэйджи нельзя. :( Уродская система. Совершенно её не вкурил. Заказчик, просто, настаивает на решении именно на платформе Gaia...

Dukobpa3 15.09.2011 02:25

@Котяра, а можешь поделиться идеями насчет самой структуры?

Я тут вижу три варианта:
1. контроллер общается с дочерним (скорее внучатым, ибо дочерний можно сеттерами или функциями напрямую дергать)
2. Контроллер общается с родительским контроллером(или дедушкой)
3. Общение с одноуровневым.

Как это реализовано?

Добавлено через 1 минуту
Цитата:

Вот сейчас использую в проекте основанном на Gaia. И то не синглтон, а мувик который приспособил под это дело. Это такой костылище! Но иначе контролировать все пэйджи нельзя. Уродская система. Совершенно её не вкурил. Заказчик, просто, настаивает на решении именно на платформе Gaia...
Гайя насколько я знаю сделана под флешИДЕ ? Тогда да, грабля, неудобно. Но я такие случаи не рассматривал, я даже баннеры в ФД писал:)

Dimitry_II 15.09.2011 03:22

Как же сейчас все это гладко и красиво сделано в Tide (от GraniteDS). Я уже так привык, что гляда на все свои старые телодвижения, содрагаюсь. Правда, это не чистый флеш, а флекс, но вроде при желании можно приспособить (да и исходники есть).
Удобно, что осваивать его и серверный Спринг начал примерно параллельно, поэтому принципы DI (IoC) понимал и на клиенте, и на сервере.

Возможно, сорри за оффтоп, но это близко к вопросу ТС о синглтонах - фактически Injection - одна из реализаций, только завуалированная красиво и кодом поддерживать не надо - фреймворк сам берет это на себя.

Dukobpa3 15.09.2011 03:30

Ну ДИ это одна из реализаций "глобальной мути" когда всё везде доступно и пофигу на иерархию. Так что не оффтоп.

fish_r 15.09.2011 10:52

Цитата:

Гайя насколько я знаю сделана под флешИДЕ ? Тогда да, грабля, неудобно. Но я такие случаи не рассматривал, я даже баннеры в ФД писал
Не знаю как раньше, но сейчас проект создается параллельно FlashIDE+FD или FlashIDE+FB. Но её главное неудобство не в этом. В ней объекты-страницы являются настолько автономными, что по сути представляют
собой не отдельные объекты, а отдельные программы общающиеся через крайне ограниченный интерфейс скрытый где-то в недрах фреймворка. Ну и на фига?! Спрашивается. Для любителей "в шкафу и на лыжах"?
Может я чего-то в ней не до понял (всего неделю с ней работаю), или, просто, в этом конкретном проекте она нужна как собаке пятая нога, но жутко бесит... :(

Psycho Tiger 15.09.2011 12:34

EventDispatcher - это Observer. Display List - это Composite. Очевидно, что использую.
Или речь про не нативные?

kackbip 15.09.2011 13:01

Цитата:

Сообщение от Psycho Tiger (Сообщение 1031612)
EventDispatcher - это Observer. Display List - это Composite. Очевидно, что использую.
Или речь про не нативные?

Я вот тоже очень удивился увидев вопрос про Observer.


Часовой пояс GMT +4, время: 09:32.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.