我正在设计一个需要使用多种不同通信协议支持通信的新系统。我不需要一起使用它们,只是为了能够轻松地在它们之间切换。此外,有时协议由几个层组成,我想分别实现每个层。 我想知道这类软件的最佳设计是什么 - 我的OOP方法说我应该使用一个代表一层(带有读/写)的基类,并从中继承所有协议。此外,基类应具有“下一层”属性,该属性将指向通信链中的下一层。 我需要为每个协议(HTTP,加密等)实现一个层,并为每个终端链接(RS232,TCP / IP,蓝牙等)实现“底层”
这听起来很标准。但我确信有更好的东西。今天网络上现有的选项是什么?我知道Boost库中的ASIO实现了类似的东西。但我没有找到任何适合这项工作的东西。
这是一个基于Windows的项目。我正在考虑使用C ++(我的母语),但我还没有锁定它。 C#也是一个很好的选择(我的半原生)。