悟道人生

渴望闲云野鹤的生活,面对自然,鸟鸣虫唱,星辰为伴,没有拘束,没有苦恼,有的只是神仙般的生活

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::

2011年2月22日

摘要: C#中,数据传递的方式有两种:按值传递和按引用传递,且默认情况下都是按值传递。而CLR支持两种基本类型为:值类型和引用类型。1. 当传递的参数为值类型,且数据传递方式为按值传递时,传递的是数据的一个拷贝。2. 当数据传递方式为按引用传递时,必须以ref或者out关键字来修饰。由于这部分不是本文主题,不做详细介绍,想了解相关内容可参见【原创】C#中ref和out的异同3. 当引用类型参数按值传递时,传递的是引用类型地址的数据拷贝。下面通过例子来验证第3点中所说先看以下示例代码:class Program { public static void Main() { var abf = new Ar 阅读全文
posted @ 2011-02-22 18:49 凌风有约 阅读(627) 评论(1) 推荐(2) 编辑

2010年11月8日

摘要: 由于最近项目需要对swf文件进行分析,在网上找了不少资料,也参照了adobe官方发布的swf file format文档,但是并不是很明白。后来经过几天的努力,终于有所顿悟(可怜天生迟钝,领悟能力比较差吧,那只有勤能补拙,多花点时间了)。下面把这几天的努力成果和大家分享一下(其中部分资料是整理自网友,不过由于分不清谁是原创,我也没法给出完整的原文地址了,部分是经过自己修正的)。在整理网友的资料时,... 阅读全文
posted @ 2010-11-08 17:30 凌风有约 阅读(1189) 评论(0) 推荐(0) 编辑

2010年9月6日

摘要: 我们希望在系统或者软件需要修改或者增加新功能时,只需要定位到系统的某一点,更改的地方单一,而不出现多处修改。因为更改的地方越多,容易出的问题越多,则代码的坏味道也越严重。我们应该寻找因某特定原因而造成的所有变化,然后运用Extract Class(提炼类)将它们提炼到另一个类中。 阅读全文
posted @ 2010-09-06 11:59 凌风有约 阅读(544) 评论(0) 推荐(0) 编辑

摘要: 向已有对象发送一条请求就可以获取原本位于参数列的一份数据时,运用Replace Parameter with Method(以函数取代参数)重构准则。运用Preserve Whole Object(保存对象完整)收集来自同一对象的一堆数据,并以该对象替换它们。对于缺乏合理对象归属的数据,可使用Introduce Parameter Object(引入参数对象)为它们制造一个参数对象。例外:如果明显... 阅读全文
posted @ 2010-09-06 11:37 凌风有约 阅读(430) 评论(0) 推荐(0) 编辑

摘要: 选择class内彼此相关的变量,运用Extract Class(提炼类)将它们一起提炼到新的class内。如果它适合作为一个子类,则使用Extract Subclass(提炼子类)比较适合。确定客户端如何使用代码,运用Extract Interface(提炼接口)为每一种使用方式提炼一个接口。将GUI类的数据和行为移至独立的领域对象,对于两边同时保留的重复数据,运用Duplicate Observ... 阅读全文
posted @ 2010-09-06 11:03 凌风有约 阅读(607) 评论(0) 推荐(0) 编辑

2010年9月3日

摘要: 99%的情况下,要把函数变小,只需要使用ExtractMethod(提炼函数)新函数。函数有大量参数或临时变量。 尝试使用Extract Method(提炼函数),将会把大量参数或临时变量当作参数传递到新函数中。不可取!运用Replace Temp with Query(以查询取代临时变量)来消除临时变量。运用Introduce Parameter Object(引入参数对象)和PreserveW... 阅读全文
posted @ 2010-09-03 16:04 凌风有约 阅读(927) 评论(0) 推荐(0) 编辑

摘要: 同一类中的不同函数具有相同表达式,直接采用ExtractMethod(提炼函数)提炼重复的代码。两个互为兄弟的子类含有相同的表达式。 首先采用ExtractMethod(提炼函数)提炼重复的代码。然后再对提炼的代码使用Pull Up Method(方法上移),将它移入父类。两个互为兄弟的子类代码类似,并非完全相同。 首先采用ExtractMethod(提炼函数)区分相同部分和差异部分代码,构成单独... 阅读全文
posted @ 2010-09-03 15:19 凌风有约 阅读(1571) 评论(0) 推荐(0) 编辑

摘要: 这段时间在看《重构-改善既有代码的设计》这本书,书写得不错。主要是以手册的方式展现给我们,但是阅读的时候总是查找各种重构方法比较费力。所以在此博客中做整理。本文整理重构之代码的坏味道目录如下:Duplicated Code(重复代码)Long Method(过长函数)Large Class(过大类)Long Parameter List(过长参数列)Divergent Change(放散式变化)S... 阅读全文
posted @ 2010-09-03 14:59 凌风有约 阅读(421) 评论(0) 推荐(0) 编辑

2010年8月27日

摘要: 适用环境:Winform开发,VS2008开发工具问题描述:有一系列产品,每个产品都有唯一产品ID,产品名称。需要绑定产品到下拉框(ComboBox)中,由于Winform的下拉框控件,不像Web开发中的下拉框控件一样,能够直接添加两个元素到每一项(Value和Text)。但是它允许直接添加object对象项,所以反而更灵活。在下拉框中需要显示产品信息,并且不只是简单显示名称,需要做一些特别的处理... 阅读全文
posted @ 2010-08-27 16:20 凌风有约 阅读(12066) 评论(0) 推荐(0) 编辑

2010年8月26日

摘要: 为什么很多人生活在幸福中,却不知道紧紧的抓住这幸福。岂不知有多少人为了他们忽视的幸福追求一生而不得所愿。在幸福当中而不自知,而当幸福远离而去的时候,却发现自己是多么渴望这份幸福,自己是多么的愚蠢,竟然亲手毁了这份属于自己(本该永远属于自己)的幸福。然而每个人都需要为自己做出的任何事情负责,当你选择放弃这份幸福的时候,你就应该承受失去幸福给你带来的痛楚。如果你总是去做一些自己让你后悔的事情,那当初何... 阅读全文
posted @ 2010-08-26 15:26 凌风有约 阅读(165) 评论(0) 推荐(0) 编辑