《Effective C#》读书笔记——条目26:避免返回对内部类对象的引用<使用C#表达设计>

  可能你会认为只读属性就只能读取,调用者不可能改变属性值。并非所有的情况都是如此,我们看下面的示例: 1 public class MyBusinessObject 2 { 3 private List<string> listOfData = new List<string&g...

《Effective C#》读书笔记——条目28:提供粗粒度的互联网API<使用C#表达设计>

在使用Web服务、.NET远程调用或给予Azure的程序时,最耗时的就是与远程服务器之间传输过程。如果只是简单的将本地API封装一下,就变成远程使用的API,这样做功能上不会有问题,但是效率低下。API的粒度越细所花费在等待数据返回的额外事件也就越多。   在创建基于Web的服务时,客户端和服务器的...

《Effective C#》读书笔记——条目25:用事件模式实现通知<使用C#表达设计>

 .NET中的事件其实就是一个观察者模式(Observer Pattern)的一个语法上的快捷实现(更多可以参考:使用委托和事件实现观察者模式)。事件是一种内建的委托,用来为事件处理函数提供类型安全的方法签名。事件就是对象将信息告知观察者的方式。   1.发布者定义事件   我们来看一个例...

《Effective C#》读书笔记——条目23:理解接口方法和虚方法的区别<使用C#表达设计>

实现和覆写虚方法的区别:接口中声明的成员默认不是虚方法。派生类不能覆写基类中实现的接口成员。接口可以被显式实现,这会使针对该类的公有成员隐藏起来。接口与虚方法的概念不同,用法也不同。   改变从基类继承的接口在派生类中的行为   我们来看一个简单的例子: 1 interface IMsg ...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。