Bond 是一个扩展框架,用来处理系统化数据,特别适合用来处理与大数据存储和处理服务的通讯。
Bond 定义了一个丰富的类型系统和 schema 版本化规则,允许向前向后兼容。核心特性包括高性能序列化和反序列化,非常强大的通用数据传输机制。该框架是高可扩展性的,通过可插入式的序列化协议、数据流和用户定义的类型别名等。
此外 Bond 是语言和平台独立的,当前支持 C++、C# 和 Python 语言。
示例代码:
namespace Examples { using Bond; using Bond.Protocols; using Bond.IO.Safe; class Program { static void Main() { var src = new Example { Name = "FooBar", Constants = { 3.14, 6.28 } }; var output = new OutputBuffer(); var writer = new CompactBinaryWriter<OutputBuffer>(output); // The first calls to Serialize.To and Deserialize<T>.From can take // a relatively long time because they generate the de/serializer // for a given type and protocol. Serialize.To(writer, src); var input = new InputBuffer(output.Data); var reader = new CompactBinaryReader<InputBuffer>(input); var dst = Deserialize<Example>.From(reader); } } }