【发布时间】:2010-06-17 16:50:48
【问题描述】:
有几十种网络协议和文件格式(WAV、TCP、BMP等)
是否有可用于在协议的实现和使用结果数据的代码之间创建抽象层的解决方案?
制作一个 WAV 文件。软件组件可以包含识别卡盘并将其解析为类的逻辑。该组件的用户不需要知道通道数是存储在两个字节还是四个字节中。
WAV 文件格式规范与数百种其他格式和协议并没有完全不同,那么为什么不制定一个通用的解决方案呢?为了创建更好的抽象,协议规范可以存储在 XML 中。我没有运气找到这样的东西。你能指出我正确的方向吗?
编辑: 这显然不是一个可以通过帖子轻松传达的问题。目前的答案并不是我真正想要的,但我要感谢大家至少试一试。
【问题讨论】:
-
我认为您没有考虑的一个考虑因素实际上是您要解决的“问题”:有很多协议。他们中的许多人成为他们现在的样子是有原因的。为协议创建包装,只需创建另一个协议。
-
我认为每个人都误解了这个问题。 OP 似乎在询问是否存在可以定义任意二进制结构的规范语言。
-
不确定我是否理解这个问题,但听起来您要求的东西会根据 Xml 中定义的规范自动生成您的协议 IO 代码。我的关注正确吗?
标签: c# design-patterns protocols file-format abstraction