所以我遇到了一个有趣的设计模式,我想知道你们是否有意见。
基本上,设计将所有内容作为预序列化类型传递。没有"类型"例如,为了回报。它作为一个简单的uint8_t *传递。有一个定义的标题,"告诉"你在缓冲区里面的东西,它有多大,缓冲区的版本是什么,等等。我称之为"预先序列化"因为它迫使所有结构变平。
专业人士:
缺点:恕我直言:
你以前见过这种设计模式吗?这个设计模式有名字吗?我错过了什么?
答案 0 :(得分:1)
这个设计模式有名称吗?
那么,遗产代码? :)我在30年前的Cobol系统中看到过这样的设计......
使用 XML格式(或JSON)也可以轻松访问您所说的专业人士:
此外,你的所有缺点都被淘汰了。
我能在您的解决方案中看到的唯一专家是简洁 - 当每个字节都很重要且你需要避免任何开销太昂贵时,那就很好了。
已添加: Cobol 具有轻松定义此类序列化数据结构的功能,请参阅PICTURE子句。读取数据非常简单,您可以将它们作为变量读取。 (就像你有二进制数据并在C语言中定义 struct 并将二进制类型转换为 struct 。)