一、前言

Protocol Buffer(简称Protobuf或PB) 是一个跨平台的消息交互协议,类似xml、json等 ;别只会用Json和XML了,快来看看Google出品的Protocol Buffer!由于是Google的出品,我相信Protocol Buffer已经具备足够的吸引力。如果您对本次分享《.NET开源Protobuf-net组件修炼手册》课程感兴趣的话,那么请跟着阿笨一起学习吧。

废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工。

二、概念名称含义和解释

2.1、什么是Protobuffer?

Protocol Buffer(简称Protobuf或PB)是由Google推出的一种数据交换格式,与传统的XML和JSON不同的是,它是一种二进制格式,免去了文本格式转换的各种困扰,并且转换效率也是非常快,由于它的跨平台、跨编程语言的特点,让它越来越普及,尤其是网络数据交换方面日趋成为一种主流。

Protobuf 官网:https://github.com/google/protobuf/tree/master/csharp

2.2、Protobuffer应用场景介绍

2.3、为什么Protocol Buffer性能这么好?

2.4、什么是Protobuf-net?

三、ProtoGen工具介绍和使用

3.1、什么是.proto文件?

3.2、.proto文件生成cs代码

3.3、从cs文件反推.proto文件

四、Protobuf-net在线源码学习和演示

1、ProtobufHelperUnitTest(SingleObject、ListObject、ComplexMulitObject)

2、ProtobufPlusUnitTest(SingleObject、ListObjectToFile、SingleObjectWithLengthPrefixToFile、ListObjectWithLengthPrefixToFile、InheritObjectToFile)

3、ProtobufSerializerHelperUnitTest(SingleObject、ListObject)

在线源码演示

五、Protobuf思考与总结

5.1、Protobuf优点和缺点

1)、优点:

2)、缺点:

5.2、总结

希望大家学完本次《.NET开源Protobuf-net组件修炼手册》课程后,让您对Protobuf有一个深刻的了解和认识。下一趟课程阿笨将给大家带来Protobuf的高级进修课程《.NET开源Protobuf-net组件葵花手册》,在高级课程中阿笨将带领大家学习Protobuf在HTTP一般处理程序、 WCF、ASP.NET MVC/WebApi中的运用。如果感兴趣的话,到时候跟着阿笨一起学习吧!

 
 

.NET开源Protobuf-net组件修炼手册的更多相关文章

  1. .NET开源Protobuf-net组件葵花手册

    一.前言 我们都知道 protobuf是由Google开发的一款与平台无关,语言无关,可扩展的序列化结构数据格式,可用做数据存储格式, 通信协议 ! 在前面<.NET开源Protobuf-net ...

  2. .NET轻量级ORM组件Dapper修炼手册

    一.摘要 1.1.为什么叫本次的分享课叫<修炼手册>? 阿笨希望本次的分享课中涉及覆盖的一些小技巧.小技能给您带来一些帮助.希望您在日后工作中把它作为一本实际技能手册进行储备,以备不时之需 ...

  3. 开源Word读写组件DocX 的深入研究和问题总结

    一. 前言 前两天看到了asxinyu大神的[原创]开源Word读写组件DocX介绍与入门,正好我也有类似的自动生成word文档得需求,于是便仔细的研究了这个DocX. 我也把它融入到我的项目当中并进 ...

  4. 突破自我,开源NetWorkSocket通讯组件

    前言 在<化茧成蝶,开源NetWorkSocket通讯组件>发表之后,收到大家很多个star,在此感谢!更可贵的是,一些网友提出了许多好建议,经过一些时间的思考,决定将NetworkSoc ...

  5. log4net--不可多得的开源日志记录组件

    log4net--不可多得的开源日志记录组件 1 前奏 一直在用log4net日志工具,却没时间写个日志给大家分享一下这个工具,趁最近比较空些,好好分享一下这个工具. 2 说明 Log4net介绍就不 ...

  6. jQuery MiniUI 开发指南+API组件参考手册

    jQuery MiniUI 开发指南 本文档将逐步的讲解jQuery MiniUI的方方面面,从此您将踏上jQuery MiniUI的深入探索之旅.                 1.Hello M ...

  7. 开源word操作组件DocX的记录

    开源word操作组件DocX的记录 使用开源word操作组件DocX的记录 1.DocX简介 1.1 简介 DocX是一个在不需要安装word的情况下对word进行操作的开源轻量级.net组件,是由爱 ...

  8. 使用开源word操作组件DocX的记录

    1.DocX简介 1.1 简介 DocX是一个在不需要安装word的情况下对word进行操作的开源轻量级.net组件,是由爱尔兰的一个叫Cathal Coffey的博士生开发出来的.DocX使得操作w ...

  9. 开源NetWorkSocket通讯组件

    开源NetWorkSocket通讯组件   前言 在<化茧成蝶,开源NetWorkSocket通讯组件>发表之后,收到大家很多个star,在此感谢!更可贵的是,一些网友提出了许多好建议,经 ...

随机推荐

  1. [转]解决-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable and mvn script match.

    来源:http://www.cnblogs.com/sprinng/p/5141233.html 1.添加M2_HOME的环境变量 2.Preference->Java->Installe ...

  2. nginx的with-http_sub_module模块使用之替换字符串

    一.介绍 该ngx_http_sub_module模块是一个过滤器,通过将一个指定的字符串替换为另一个字符串来修改响应.该模块不是默认生成的,它应该使用--with-http_sub_module 配 ...

  3. python--模拟蜂窝网(https)登陆总结

    #用户名密码登陆 1.寻找登陆请求(此处可以故意输错用户名密码,目的是为了能够看清楚重定向的地址) 发现: 点击登陆时,请求了 ①.post302:https://passport.mafengwo. ...

  4. Python线程同步

    线程执行 join与setDaemon 子线程在主线程运行结束后,会继续执行完,如果给子线程设置为守护线程(setDaemon=True),主线程运行结束子线程即结束: 如果join()线程,那么主线 ...

  5. day66 模板小结 [母板继承,块,组件]

    小结: day65 1. 老师编辑功能写完 1. magic2函数 --> 用两层for循环解决 全栈8期之殇 问题 2. 模板语言 in 语法 {% if xx in xx_list %} { ...

  6. 基于Keil软件的MCU环境搭建

    我们在开发一款新的MCU的时候,偶尔会遇到Keil软件没有对应的Device设备选型,以下,我们以STM32F407VGT6作为实例来演示整个环境的搭建过程: 一.如下所示,我需要选择的是ST公司的S ...

  7. git合并

    git 里合并了两个分支以后,是不是两个分支的内容就完全一样了? 不是.看合并到哪个分支,这个分支有两个分支所有的内容.另外一个分支不变. 合并操作( merge )对当前所在分支产生影响. 合并分支 ...

  8. hdu5745(dp+bitset)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=5745 C++ bitset的用法:https://www.cnblogs.com/magisk/p/880 ...

  9. Java实现简单记事本

    代码实现: import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent; im ...

  10. Java大数相加(多个大数相加)-hdu1250

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1250 题目描述: 题目大意是:已知一个Hat's Fibonacci序列,该序列满足F(1) = 1, ...