代码改变世界

随笔档案-2011年7月15日

Effective C# 学习笔记(二十六)防止返回类内部的对象引用

2011-07-15 20:02 by 小郝(Kaibo Hao), 436 阅读, 收藏,
摘要: 有些时候,你不希望你的类型的属性因为外部引用而更改状态,对外只保持只读或有限的更改权限,这时有四种方法可以防止类内部对象被外部对象引用而引起更改。 1. 值类型 2. 不可变类型 3. 接口 4. 封装 阅读全文

Effective C# 学习笔记(二十五)以事件机制来实现通知

2011-07-15 19:35 by 小郝(Kaibo Hao), 332 阅读, 收藏,
摘要: 事件是用来通知观察者来进行相应的操作,其经常被用来在事件的发送者和接受者间进行解耦,事件的机制也是用观察者模式来实现的。 阅读全文

Effective C# 学习笔记(二十四)运用Delegates来实现回调

2011-07-15 19:33 by 小郝(Kaibo Hao), 373 阅读, 收藏,
摘要: 代理提供了类型安全的回调定义,可以让你在运行时配置你的行为,并且可以通知多个客户端。代理其实是一个指向方法的引用,该方法可以是静态方法也可以是动态实例的。.NET Framework利用 Predicate,Action及Func等类型来定义代理。 但由于历史原因,所有的代理都是多播代理。即所有的代理都是统一顺序执行的,而且若其中一个代理发生了异常,则剩下的代理将无法执行,而且返回值是最后一个添加到代理的方法的返回值。 阅读全文