使用Socket的网络通信是否有任何设计模式或其他内容。 我的意思是我经常做的是:
感谢。
答案 0 :(得分:1)
您可以在一组处理程序类上使用循环(即每种类型的消息支持一个)。这基本上是composite pattern。 Component
和每个Composite
然后可以独立测试。一旦写入Component
,就不需要再次更改,并且对新消息的支持将被隔离到单个新类(或者可能是lambda或函数指针,具体取决于语言)。您还可以在运行时向Composite
添加/删除/重新排序Component
,如果这是您想要的设计(或者如果您想要阻止它,取决于您可以使用的语言{ {3}})。您也可以查看variadic templates。
但是,如果您认为向交换机添加案例有点费力,我怀疑写一个新类也是如此。
P.S。我没有看到避免步骤1和2的好方法。