摘要: 一、什么是ProtoBuf protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台。它是一种类似于xml、json等类似作用的交互格式。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。 google 提供了多种语言的实现:java、c 阅读全文
posted @ 2017-09-14 19:06 卖雨伞的小男孩 阅读(7148) 评论(6) 推荐(1) 编辑
摘要: WPF中时常会遇到ViewModel之间的通讯,ViewModel并不知道自己的View,但是一个View发生的更改需要通知另外一个View。 举一个例子,软件界面上有个人信息,打开一个界面更改用户的信息后,这时显示个人信息的地方理应发生变化。此场景下更改用户后应该通知另一个显示用户信息的区域去更新 阅读全文
posted @ 2017-09-14 17:33 卖雨伞的小男孩 阅读(658) 评论(0) 推荐(0) 编辑
摘要: 事件参数(EventArgs) .Net框架里边提供的一个委托EventHandler来Handle事件。 一样,搞一个场景(这个场景是书里的):买车。经销商(CarDealer)会上新车(NewCar)事件,这个事件会由买车的顾客(Comsumer)订阅,一旦有新车出来他们就会来光顾。在这里,由于 阅读全文
posted @ 2017-09-14 17:28 卖雨伞的小男孩 阅读(3031) 评论(0) 推荐(0) 编辑
摘要: 事件聚合器用于集中管理事件的订阅(Subscribe)和处理(Handle),要使用事件聚合器,首先要理解:事件(event)本质上是一个类。 传统的+=和-=不足: 1、管理很麻烦;2、不方便扩展。 所以尝试使用事件聚合器来解决这个问题。 首先,使用一个统一的接口来实现事件的统一标记: 事件,需要 阅读全文
posted @ 2017-09-14 17:16 卖雨伞的小男孩 阅读(1486) 评论(0) 推荐(2) 编辑
摘要: C#泛型编程已经深入人心了。为什么又提出C#模板编程呢?因为C#泛型存在一些局限性,突破这些局限性,需要使用C#方式的模板编程。由于C#语法、编译器、IDE限制,C#模板编程没有C++模板编程使用方便,但是,仍然可以解决一些问题。 下面先看C#泛型编程的两个限制: (1)类型约束问题。 C#泛型的类 阅读全文
posted @ 2017-09-14 17:12 卖雨伞的小男孩 阅读(1880) 评论(0) 推荐(0) 编辑
摘要: 什么是泛型 我们在编写程序时,经常遇到两个模块的功能非常相似,只是一个是处理int数据,另一个是处理string数据,或者其他自定义的数据类型,但我们没有办法,只能分别写多个方法处理每个数据类型,因为方法的参数类型不同。有没有一种办法,在方法中传入通用的数据类型,这样不就可以合并代码了吗?泛型的出现 阅读全文
posted @ 2017-09-14 16:42 卖雨伞的小男孩 阅读(258) 评论(0) 推荐(0) 编辑