![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2009
Сообщений: 409
|
Здравствуйте, в классе main открываю сокет канал
доступ к каналу нужен в разных классах, для отправки/приёма данных. как правильно это реализовать? первый вариант: в классе main слушать событие MESSAGE, и уже там смотреть какая команда, и кейсом вызывать функции классов, из минусов все команды в одном классе, получается зпутанно. второй варинт: слушать событие MESSAGE в каждом классе, и там уже смотреть предназначены они ему или нет. и сразу выполнять внутри класса. Кажется более правильным, но нормальная ли это практика слушать одно событие в разных классах таким способом? |
|
|||||
|
Я бы сделал подписку через синглтон. Но не на сообщение MESSAGE, а на что-то более конкретное. То есть какой-нибудь класс Connector или Parser принимает байты с сервера, понимает, что это за команда (сообщение) и через синглтон шлет событие, говорящее о том, что пришла именно вот эта конкретная команда. А все, кто заинтересован в приходе этой конкретной команды (не в общем MESSAGE, а какой-нибудь ADD_UNIT, например), сидят и слушают синглтон.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 03:21. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|