摘要: 以前曾看见过这样一个问题:托管代码会不会导致内存泄漏。自己对GC的了解也不是很深,但还是比较赞成这样的观点:托管代码不会产生内存泄漏,除非你没有正确释放非托管资源。 今天看到一个非常有趣的例子,关于没有释放事件的Handler导致的内存泄漏。 以前对于释放Handler的观念是一点也没有,这主要因为没此方面的意识,没有养成好的习惯。只知道当关心这个事件的时候就注册一下, 暂时不关心了就移除掉。却从来没有想到最终不移除不必要的Handler会导致此类无法被正常回收,导致不必要的内存浪费。 您知道WeakReference吗? 您知道用此种方式实现的Event吗?阅读全文
posted @ 2008-01-15 17:17 Anders06 阅读(2932) 评论(12) 编辑
摘要: 这里没有按照"传统"的方式给您讲述设计模式,没有一行代码来演示如何实现
这里主要想体现的是自我对模式的思考,对前人精华的自我吸收.
从积木到组合到Bridge, 从解耦到封装到适应需求变化,一个菜鸟程序员的思考
SRP,OCP,面向接口编程,优先使用组合, Bridge教你如何思考OO阅读全文
posted @ 2007-07-10 12:35 Anders06 阅读(2103) 评论(7) 编辑
摘要: 读了<<敏捷软件开发>>一书,似乎对Mediator模式理解变得模糊了,书上实现是如此简单,然而却跟以前自己所知的Mediator模式的结构大相径庭,
Colleague对象是否一定要拥有Mediator对象的引用?是否一定要有Colleague抽象类呢?
mediator模式可否用delegate简化,如果有的话该如何实现, 跟使用delegate简化实现的Observer模式又有什么区别呢?
...陷入疑问中......阅读全文
posted @ 2006-06-21 16:42 Anders06 阅读(1129) 评论(2) 编辑
摘要: 老赵一出手,又引来无数跟帖。详见 我在面试.NET/C#程序员时会提出的问题小弟不才,只被面试过,从未面试过别人。所以想从被面试方的角度来谈谈,在我心中理想的面试应该是咋个样的。前阵子lzprgmr同学,站在面试官的立场上谈了谈他的感受,见 谈谈技术面试。里面写道:首先,我觉得技术面试是需要讲究技巧的,不是随随便便拉一个技术不错的人就可以,因为面试的过程是双方相互交流的过程,你需要给对方营造一个轻松的气氛,并在不断的提问与回答的过程中,进行“合理的引导”,“适时的追问”与“正确的判断”我非常赞成他的观点,面试官跟被面试的人无论如何都很难做到绝对的平等, 面试官对题目准备充分,享有话语权,而且接阅读全文
posted @ 2011-03-04 17:25 Anders06 阅读(4068) 评论(42) 编辑
摘要: LINQ中的Distinct方法能够帮助我们轻松地剔除集合里面相同的元素。 它提供了2个重载函数,其中一个允许我们传入IEqualityComparer<T> 接口, 给我们充分的自由来决...阅读全文
posted @ 2010-11-22 09:36 Anders06 阅读(1615) 评论(7) 编辑
摘要: 假设我们对如下Block中的红色线段做了标注,那么这个标注的两个锚点(Anchor Point)分别为红色线段的2个端点 当我们旋转这个Block后,我们自然希望这个标注也跟着物体旋转的,调整到如下...阅读全文
posted @ 2010-11-20 16:27 Anders06 阅读(905) 评论(2) 编辑
摘要: 首先,托管代码由GC自动回收,不代表托管应用程序就没有内存泄露问题 其次, 程序不总是精确知道哪些托管对象是垃圾,这就代表着没有一款工具,一运行就能给你一个报表,说某某对象没回收,某某地方发生了内存泄...阅读全文
posted @ 2010-11-20 15:27 Anders06 阅读(123) 评论(0) 编辑
摘要: 两条非平行线段, 如何合理的标注角度。比方说对于下面2条初始线段: 根据当前鼠标所在位置的不同,我们可能得到如下不同的标注方式: 本人求标注的思路大体思路是:首先求出圆弧(Dimension Line)的两个端点, 然后根据这两个已求得的端点,分别计算出两条引线(Witness Line)的端点。 求圆弧端点的算法: 我们把问题简化下,对于任意2条相交的射线,以下均以锐角为例(钝角求解过程完全一...阅读全文
posted @ 2010-11-18 21:58 Anders06 阅读(1242) 评论(6) 编辑
摘要: 记录一段小经历,当我们嗅觉到一段有问题的代码时,仔细研究下会有不错的发现。经验总结:当我们跟IntPtr打交道时一定要小心谨慎,谨防GDI泄漏Yesterday, I noticed that someimage resources in Annotation project are not defined as static, the clientdirectly access by ̶...阅读全文
posted @ 2010-08-20 18:07 Anders06 阅读(55) 评论(0) 编辑
摘要: 一个不良API例子的浅析,及重构后的结果阅读全文
posted @ 2010-08-11 18:47 Anders06 阅读(114) 评论(0) 编辑
摘要: 相信大部分熟读过《CLR Via C#》一书的人应该明白文字代码问题出在哪里,因为道理都在那本书里摆着。 至于我为什么写此文重谈一遍,一个是因为读书归读书,碰到实际情况时就不见得也能保持冷静明白个所以然,能够避免踩此陷阱; 二则我也很难理解我们的架构师为什么会犯此错误,是故意的呢还是不够仔细踩了地雷。 于是写此文记录一下,以免今后自己犯此错误。各位有则改之,无则加勉 阅读全文
posted @ 2009-10-19 17:01 Anders06 阅读(1901) 评论(6) 编辑
摘要: 以下代码源自于真实项目,本人只是做了一点简化,大家来找碴,看看哪些地方不妥:-)阅读全文
posted @ 2009-10-14 16:43 Anders06 阅读(202) 评论(0) 编辑
摘要: [代码]阅读全文
posted @ 2009-10-09 16:19 Anders06 阅读(66) 评论(1) 编辑