Реализация коммуникационных цепочек - PullRequest
2 голосов
/ 11 сентября 2011

Я разрабатываю новую систему, которая должна поддерживать связь, используя несколько различных протоколов связи.Мне не нужно использовать их вместе, просто чтобы легко переключаться между ними.Кроме того, иногда протокол состоит из нескольких уровней, и я хотел бы реализовать каждый уровень отдельно.Мне было интересно, что является лучшим дизайном для такого рода программного обеспечения - мой подход ООП говорит, что я должен использовать базовый класс, который будет представлять слой (с чтением / записью) и наследовать от него все протоколы.Также базовый класс должен иметь свойство «следующий уровень», которое будет указывать на следующий уровень в цепи связи.Мне нужно будет реализовать уровень для каждого протокола (HTTP, шифрование и т. Д.) И «нижний» уровень для каждой конечной линии (RS232, TCP / IP, Bluetooth и т. Д.)

Звучит стандартно.Но я уверен, что есть что-то лучше.Какие существуют варианты в Интернете сегодня?Я знаю об ASIO из библиотек Boost, в которых реализовано нечто похожее.Но я не нашел ничего подходящего для этой работы.

Это проект на базе Windows.Я думаю о C ++ (мой родной), но я еще не заперт на нем.C # также является хорошим вариантом (мой полу-нативный).

...