2007年12月26日

使用 override 还是用 event?

摘要: 一个类重写基类的虚方法是面向对象惯用的手法,而 .Net 引入事件机制后,使得我 们在重写一些方法是往往放心不下,特别是 BCL 里面以 On 打头的虚方法...... 阅读全文

posted @ 2007-12-26 18:43 优哉@游哉 阅读(414) 评论(0) 推荐(0) 编辑

2007年12月25日

迭代器(Iterator) 模式 —— 由 C# 的 foreach 想到的

摘要: 动机:在软件的构建过程中,集合对象内部结构常常变化各异。但对于这些集合对象, 我们希望在不暴露其内部结构的同时,可以让外部客户代码透明地访问其中包含的元素; 同时这种“透明遍历”也为“同一种算法在多种集合对象上进行操作”提供了可能。 阅读全文

posted @ 2007-12-25 23:00 优哉@游哉 阅读(748) 评论(0) 推荐(0) 编辑

.Net Dispose 模式 与 C++/CLI 确定性资源清理

摘要: 1. .Net Dispose 模式 受 CLI 所有语言支持,但是C++/CLI 在编译阶段进行了特殊处理, 因此不要试图用 C++/CLI 实现下面的代码,实际上 C++/CLI 编译器是禁止一个类显式 实现 System::IDisposable 接口的。 C++/CLI 的处理方式将在后文讨论。 阅读全文

posted @ 2007-12-25 00:47 优哉@游哉 阅读(1468) 评论(0) 推荐(0) 编辑

2007年12月24日

Singleton 与 MonoState 模式

摘要: 1. Singleton 模式的不同实现形式 1) 最简单的 Sigleton (无线程同步, 不适应多线程环境) 阅读全文

posted @ 2007-12-24 20:00 优哉@游哉 阅读(1142) 评论(3) 推荐(0) 编辑

2007年12月22日

让.Net 值类型具有引用传递的行为

摘要: [说明:这里讲的并不是作为函数参数的情形,那样只要用C#的 ref 或者 out 关键字。] 1. C#的 unsafe 指针既不优雅,更有不少限制。所以不用他了,那么只能用 interface 间接实现了。 阅读全文

posted @ 2007-12-22 16:38 优哉@游哉 阅读(437) 评论(2) 推荐(0) 编辑

导航