12 2007 档案

值类型 VS 引用类型 (C++/CLI)
摘要: 值类型自动继承自 System::ValueType, 引用类型自动继承自 System::Object, 虽然 System::ValueType 也继承自 System::Object, 但二者仍有不少差别。 阅读全文

posted @ 2007-12-28 10:51 优哉@游哉 阅读(1240) 评论(1) 推荐(0)

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

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

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

posted @ 2007-12-25 23:00 优哉@游哉 阅读(757) 评论(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 优哉@游哉 阅读(1493) 评论(0) 推荐(0)

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

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

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

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

导航