Информация об изменениях

Сообщение Re: канал сообщений от 18.10.2018 16:21

Изменено 18.10.2018 16:29 AlexGin

Re: канал сообщений
Здравствуйте, niXman, Вы писали:

X>хочу такое:

X>есть приложение получающее даные из сети.
X>есть "модули", которые получают эти данные и генерят события для других модулей.(ну, т.е. тупо предоставяют возможность всем желающим подключиться к этим событиям)

Паттерн обозреватель (observer) — его реализации на C++
вот примеры:
https://www.codeproject.com/Articles/328365/Understanding-and-Implementing-Observer-Pattern-2
https://www.bogotobogo.com/DesignPatterns/observer.php
https://sourcemaking.com/design_patterns/observer/cpp/3

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

X>это все еще больше осложняется тем, что кол-во модулей растет, модули меняются, итд...

А чем тебя Qt с его SIGNAL/SLOT системой не устраивает?

X>вопрос мой заключается в том, как вообще строятся такие архитектуры? я полагаю, что тут подошел бы собжектайзер... ну, или, нужно закодить какой-то диспетчер, в котором все модули будут иметь одинаковые права(т.е. подписываться и публиковать сообщения)


Гуглим по: "Observer Pattern C++"
Re: канал сообщений
Здравствуйте, niXman, Вы писали:

X>хочу такое:

X>есть приложение получающее даные из сети.
X>есть "модули", которые получают эти данные и генерят события для других модулей.(ну, т.е. тупо предоставяют возможность всем желающим подключиться к этим событиям)

Паттерн обозреватель (observer) — его реализации на C++
вот примеры:
https://www.codeproject.com/Articles/328365/Understanding-and-Implementing-Observer-Pattern-2
https://www.bogotobogo.com/DesignPatterns/observer.php
https://sourcemaking.com/design_patterns/observer/cpp/3

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

X>это все еще больше осложняется тем, что кол-во модулей растет, модули меняются, итд...

А чем тебя Qt с его SIGNAL/SLOT системой не устраивает?

Кстати, на boost также есть реализация этого паттерна:
https://www.boost.org/doc/libs/1_63_0/doc/html/signals.html
https://habr.com/post/171471
https://stackoverflow.com/questions/768351/complete-example-using-boostsignals-for-c-eventing

X>вопрос мой заключается в том, как вообще строятся такие архитектуры? я полагаю, что тут подошел бы собжектайзер... ну, или, нужно закодить какой-то диспетчер, в котором все модули будут иметь одинаковые права(т.е. подписываться и публиковать сообщения)


Гуглим по: "Observer Pattern C++"