У меня следующий сценарий:
Я получаю сообщения через порт (например, последовательный COM-порт). Каждое сообщение имеет заголовок, который используется для проверки того, кому принадлежит сообщение.
Предположим, что заголовок состоит только из одного байта, и этот байт должен использоваться для «пересылки» сообщения объекту.
Один пример:
Header -> Receiver
0x00 -> Object A
0x01 -> Object B
...
В настоящее время я решил это таким образом, что у меня есть объект, который, например, владеет портом для получения сообщений (например, jSerialCom). Назовем его «портовый объект». Я сделал это одно наблюдаемым, и каждый объект, который может быть получателем, наблюдает за ним.
Как только сообщение будет получено, объект порта проинформирует всех наблюдателей о полученном сообщении, и они должны сами решить, сообщение связано с ними или нет.
Я чувствую, что это не лучшее решение, и спрашиваю, считаете ли вы, что существует лучший подход.