![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
Может у кого есть готовый диспетчер сообщений с базовым классом? Динамический.
Т.е. в некоторый момент времени нужно создавать до 1500 объектов и все должны обмениваться между собой сообщениями. Писать самому не то, что лень, а просто не хватит сил отладить его. Т.к. надо придумывать алгоритмы генерации уникальных ID объектов, критические секции и .... З.Ы.: я то написал, но никак не могу толково его отладить... |
|||
|
||||
| Mad |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Эксперт Сообщений: 656 Регистрация: 18.10.2004 Где: Одесса Репутация: 7 Всего: 19 |
bel_nikita
Каких именно сообщений ? |
|||
|
||||
| bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
Mad
Своих Например, первый объект детектировал, что абонент поднял трубку и начал набирать номер, он должен дать сигнал другому объекту, который отвечает за детекцию номера. Этот второй, когда детектировал номер, должен разослать его по другим объектам и дать комманду объекту, отвечаещему, за сетевуху, чтобы он отослал эти данные(номер и время) на сервер и т.д.... Типа Boost/signal, Chain of Responsibility. Но что-то не пойму как-там все завязано.... |
|||
|
||||
| Mad |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Эксперт Сообщений: 656 Регистрация: 18.10.2004 Где: Одесса Репутация: 7 Всего: 19 |
bel_nikita
Проблемма, по моему мнению, заключается в том, что все эти сообщения надо обрабатывать не скопом, а по видам У меня примерно такаяже задача недавно была. Решил так: Каждый вид сообщения выделил в отдельный диспетчер. Тогда отладка стала не такой гиморной. Например: Сообщение о поднятии трубки. Его, допустим, надо доставить тока обьектам детектирования номера. Вот и делаеш отдельный диспетчер, который понимает тока это сообщение. Каждый обьект слежения за положением трубки И так далее, скорей всего часть сообщений вообще вывалиться (получится что у них всегда тока один источник и тока один приемник, зачем же тогда диспетчер |
|||
|
||||
| bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
Mad
не совсем то. а если у меня 1000 типов собщений? тогда получается создавать тысячи диспетчеров? Диспетчер мне кажется должен быть один для всех. Мне надо каркас, чтобы в любой момент я мог добавить или удалить класс при проектировании софта. А можно пример какой-нить З.Ы.: Я уже написал, что-то подобное и похожее на диспетчер, но вот еще хочу класс сообщения сделать более менее нормальный, чтобы можно было данные прикреплять/откреплять при посылке и получении Как-нить выложу на критику и поиск недочетов |
|||
|
||||
| Mad |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Эксперт Сообщений: 656 Регистрация: 18.10.2004 Где: Одесса Репутация: 7 Всего: 19 |
bel_nikita
Это конечно не готовый код, а только чтоб проэлюстрировать мысль.
теперь пример реализации
Самое удобное в такой схеме, что потом (если конечно реализовать глобальный пул диспетчеров динамическим), ты сможеш добавлять новые сообщения (и соответственно диспетчеров под них) уже в готовый проект (хоть в виде дллекок) не миняя имеющийся код |
||||
|
|||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |