![]() |
Как часто вы используете обсерверы, синглтоны и прочую глобальную муть в проектах
Я в крупных использую.
Сейчас на одном маленьком попробовал без этого. Остался доволен. Но это в проекте с парой десятков классов не считая внешних фреймворков. В чем-то посерьезнее я думаю довольно-таки сложно наладить коммуникации. Здесь у меня получается что мейнКонтроллер подписан на прослушиввание от хоста событий вьюх,а во вьюхах практически все события бабблятся. И вот эти события обрабатываются частично "маленькими" контроллерами, а частично доплывают аж до мейнХоста и там обрабатываются мейнКонтроллером. С одной стороны круто, что четкая структура и удобно рулить, меньше допускается структурных ошибок. А с другой стороны если проект будет нагружен то придется тулить какие-то промежуточные контроллеры, группировать модули по функциональным группам или хз еще как. Короче добавлять пару узлов в дерево. (как вариант - придется раздуть мейнКонтроллер до серьезных размеров). Поделитесь своим опытом и соображением на эти темы. |
В крупных проектах точно использую синглтон, для хранения данных, которые почти везде нужны. Возможно еще какие-нить паттерны, но названий не знаю.
|
Практически не использую. Разве что какой нибудь логгер. Изредка EventBus из as3commons и Lang оттуда же.
|
Вот сейчас использую в проекте основанном на Gaia. И то не синглтон, а мувик который приспособил под это дело. Это такой костылище! Но иначе контролировать все пэйджи нельзя. :( Уродская система. Совершенно её не вкурил. Заказчик, просто, настаивает на решении именно на платформе Gaia...
|
@Котяра, а можешь поделиться идеями насчет самой структуры?
Я тут вижу три варианта: 1. контроллер общается с дочерним (скорее внучатым, ибо дочерний можно сеттерами или функциями напрямую дергать) 2. Контроллер общается с родительским контроллером(или дедушкой) 3. Общение с одноуровневым. Как это реализовано? Добавлено через 1 минуту Цитата:
|
Как же сейчас все это гладко и красиво сделано в Tide (от GraniteDS). Я уже так привык, что гляда на все свои старые телодвижения, содрагаюсь. Правда, это не чистый флеш, а флекс, но вроде при желании можно приспособить (да и исходники есть).
Удобно, что осваивать его и серверный Спринг начал примерно параллельно, поэтому принципы DI (IoC) понимал и на клиенте, и на сервере. Возможно, сорри за оффтоп, но это близко к вопросу ТС о синглтонах - фактически Injection - одна из реализаций, только завуалированная красиво и кодом поддерживать не надо - фреймворк сам берет это на себя. |
Ну ДИ это одна из реализаций "глобальной мути" когда всё везде доступно и пофигу на иерархию. Так что не оффтоп.
|
Цитата:
собой не отдельные объекты, а отдельные программы общающиеся через крайне ограниченный интерфейс скрытый где-то в недрах фреймворка. Ну и на фига?! Спрашивается. Для любителей "в шкафу и на лыжах"? Может я чего-то в ней не до понял (всего неделю с ней работаю), или, просто, в этом конкретном проекте она нужна как собаке пятая нога, но жутко бесит... :( |
EventDispatcher - это Observer. Display List - это Composite. Очевидно, что использую.
Или речь про не нативные? |
Цитата:
|
| Часовой пояс GMT +4, время: 09:32. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.