Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Реализация шаблона singleton в AS3 (http://www.flasher.ru/forum/showthread.php?t=113772)

wvxvw 09.07.2008 21:11

Ну, так задачи ж разные =) у меня в задаче не может быть даже гипотетически больше 2 сокетов, а у вас - да. Кроме того, я ж в начале написал, что к сокету напрямую обращается только менеджер, а получатели "не знают" откуда берется информация. Т.е.
Код:

[а] "пришли картинку" ---|      [источник картинок]
[б] "пришли звук" --- [менеджер] ---| ----[источник звуков]
[в] "пришли шрифт" ------|    |  [источник шрифтов]
                              |
                              |
                <сокет == источник управляющей информации + ресурсов>

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

BlooDHounD 09.07.2008 23:52

это почему на флэшке должен быть один сокет?

wvxvw 10.07.2008 01:07

аааааа =))) нет, должно быть ровно 2, но разных, а больше быть не должно =) Т.е. как можно догадаться из названия класса есть еще и SocketSender =)
Короче, писал-писал, и все стер =) Вобщем, представь, тебе налили 10 тарелок супа, но нафик тебе для этого 10 ложек? Конечно, можно извратится и позапихивать их как-нть между пальцами, но есть от этого верняк удобнее не станет =)

Не знаю, если ты считаешь, что удобнее это было реализовать через статические методы - ну, я думаю, что это дело вкуса. Мне просто так удобнее. =)

BlooDHounD 10.07.2008 01:14

wvxvw, зачем статические методы? твой синглтон это те же "статические методы" только вид сбоку и запись длинее.

а почему 2? а я говорю 3!!! нет! даже 4! откуда такие ограничения? зачем вообще их считать? зачем думать сколько их? зачем вообще думать что они из себя предстваляют?

P.S.: Денис, спаси меня :) я не могу объяснить, а ты могуч :)

wvxvw 10.07.2008 01:24

Потому что больше не надо - ну нечего мне с ними делать =) ну, попробуй сесть сразу на 4 стула =)
ЗЫ. запись вида SocketSender.getInstance() встречается в коде ровно 1 раз... при чем была технично вставлена автокомплитом! %) я ее даже не писал =)

etc 10.07.2008 01:27

Цитата:

Сообщение от BlooDHounD (Сообщение 751223)
P.S.: Денис, спаси меня :) я не могу объяснить, а ты могуч :)

Хе-хе :quiet:

В общем, соединений может быть сколько угодно, причем с ними работают разные контроллеры и прочие вещи, которые могу быть совершенно не связаны друг с другом. Причем тут 10 ложек — совершенно неясно :)

wvxvw 10.07.2008 01:32

Да потому что в моей конкретной задаже есть Н тарелок с супом, а скушать их должен 1 человек =) Если вы ему для этого дадите Н ложек, где Н много блольше 1, он просто растеряется, и станет их использовать не по назначению =)

etc 10.07.2008 01:37

Цитата:

Сообщение от wvxvw (Сообщение 751235)
Да потому что в моей конкретной задаже есть Н тарелок с супом, а скушать их должен 1 человек =) Если вы ему для этого дадите Н ложек, где Н много блольше 1, он просто растеряется, и станет их использовать не по назначению =)

Причем тут ложки? Потребителем является не человек, а контроллеры. Очень быстро может возникнуть ситуация, когда контроллеров будет больше одной штуки и они будут отвечать за совершенно разные соединения.

wvxvw 10.07.2008 01:45

уууууууууу.... ну я не знаю как еще объяснить: если возникнет необходимость в других соединениях, то они не будут выполнять ту же функцию, что и первые 2, соответственно, для них нужен будет другой коннектор. Но ситуация, кроме всего такова, что не возникнут, потому что даже теоретически они там не нужны. Результат работы приложения может, и не просто может, он обязан быть единственным, поэтому 2 сокета принимающие результат не нужны по определению. Такое вот назначение у приложения. Но если бы ему нужно было выслать результат работы множеству получателей - тогда бы я согласился, что синглтон тут неуместен. Но это было бы уже другое приложение.

BlooDHounD 10.07.2008 03:02

wvxvw, кароче. у тебя синглтон ради сингтона, а не от необходимости.

ты приплёл синглтон, когда тебе всего лиш "нужен один" конекшен, а не он "должен быть один". надеюсь я доходчиво объяснил?


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

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