代码改变世界

(15 Mins)A Simple C# And SQL Test

2012-08-28 19:11 by 圣殿骑士, 1563 阅读, 0 推荐, 收藏, 编辑
摘要:C# Basic Test Replace string1 with string2 in all the files in a given folder including all the subfolders The first way: The second way: The test fol 阅读全文

新加坡面试经历

2012-08-26 10:51 by 圣殿骑士, 11211 阅读, 10 推荐, 收藏, 编辑
摘要:How time flies! It has been a little bit long time I haven’t update my blog! So sorry about this especially for the guys who sent email or msn messages to me(becoz of so many emails and so busy and no time to reply one by one, I just want to say sorry to anyone here I didn't reply to)! These days I had been busy with my work and also I want to change 阅读全文

(收藏)2010年度十大杰出IT博客

2011-01-31 23:52 by 圣殿骑士, 8210 阅读, 6 推荐, 收藏, 编辑
摘要:IT博客作为一种专业性博客,已成为IT发展过程中一个不可或缺的重要角色,广大的IT博主,无私分享最技术内容,彰显了互联网奉献精神,影响着中国IT界的发展进程。本次大赛,旨在评选2010年度,在推动中国技术的进步方面做出了杰出贡献的博客。自2010年11月开赛以来,大赛共有近千名博主报名,300余名IT原创博主通过审核,拥有了独立参赛主页。经过一个多月的角逐,根据十余万网友票选的支持结果,年度IT博客50强产生。随后,专家评委团从专业程度、互动人气 、文字表达、版面美观等各方面,对50强选手进行评分。1月20日,十位博主凭借实力与人气成功当选“2010年度十大杰出IT博客”! 阅读全文

云计算资源分享与下载

2010-12-31 08:25 by 圣殿骑士, 26774 阅读, 72 推荐, 收藏, 编辑
摘要: 自从上一篇实战第一个云程序之后,我就没有再发布云计算相关的文章,这些天重新整理了一下草稿箱,发现这个系列有很多篇都存了大半年了,一直没有整理发布出来,今天就先发布这篇“云计算资源分享与下载”,希望能给大家带来一些参考和帮助。这篇文章对于学习系统学习云计算有很好的指导作用,尤其是大量的书籍、视频和相关社区网站的介绍,但是由于我比较热衷于微软的Azure平台的研究和推广,针对其他厂商的云计算产品,我只是很粗浅的了解了其概念及简单使用,并没有做深入的研究,所以如果后续发布的云计算相关文章也会集中在Azure上。 阅读全文

圣殿骑士WPF企业内训资源下载

2010-12-21 03:02 by 圣殿骑士, 14790 阅读, 49 推荐, 收藏, 编辑
摘要: 在前面的一段时间里,我先后发布了几篇WPF企业内训全程实录的文章,由于内容涵盖面广且文章内容较多,所以花了十多个晚上的时间才完成。为了提高阅读质量,我把它拆分成了三篇。之前由于没有找到合适的托管站点,所以一直没有公布资源下载地址。期间有很多朋友发邮件索取此资源,所以在这里就统一发布出来,希望对大家能起到参考和帮助作用! 阅读全文

WPF企业内训全程实录(下)

2010-12-09 03:31 by 圣殿骑士, 23543 阅读, 56 推荐, 收藏, 编辑
摘要:WPF企业内训全程实录由于文章比较长,所以一共拆分成了三篇,上篇WPF企业内训全程实录(上)主要讲了基础,中篇WPF企业内训全程实录(中)主要讲解开发模式、团队协作及应用框架,起着承上启下的作用,主要讲解开发模式、团队协作及应用框架。这篇作为该实录的下篇——终结篇,起着总结的作用,主要讲解其他技术的引用、WPF项目及性能优化、部署与更新等议题。 阅读全文

参加[2010年度十大杰出IT博客大赛]

2010-11-30 23:38 by 圣殿骑士, 3022 阅读, 8 推荐, 收藏, 编辑
摘要:大赛简介:IT博客作为一种专业性博客,已成为IT发展过程中一个不可或缺的重要角色,广大的IT博主,无私分享最 技术内容,彰显了互联网奉献精神,影响着中国IT界的发展进程。本次大赛,旨在评选2010年度,在推动中国 技术的进步方面做出了杰出贡献的博客。 我的参赛主页:http://2010blog.51cto.com/1792698 阅读全文

WPF企业内训全程实录(中)

2010-11-01 21:38 by 圣殿骑士, 23654 阅读, 68 推荐, 收藏, 编辑
摘要:WPF企业内训全程实录由于文章比较长,所以一共拆分成了三篇,上篇WPF企业内训全程实录(上)主要讲了基础,这篇作为该实录的中篇,起着承上启下的作用。其实如果大家仔细看目录,可以发现我安排的顺序是首先讲解最基本的概念和基础内容、然后过渡到开发模式及框架、最后结合其他技术和项目实际运用,这也是学习并应用一门技术最好的流程。上篇实际上主要有两个侧重点:一则就是理清脉络——历史渊源、概念引入及基本阐述;二则是讲解WPFBasic——主要讲解WPF的每个知识点,涵盖了WPF的方方面面;如果大家感兴趣,可以下载代码进行仔细研究,如果有不懂的地方也可以参考我写的WPF 基础到企业应用系列,这里受篇幅限制,就不详细论述。今天的中篇主要围绕WPF开发模式、WPF团队协作和MVVM框架三个议题进行阐述,希望能给大家带来一些参考和帮助。 阅读全文

WPF企业内训全程实录(上)

2010-10-28 11:08 by 圣殿骑士, 31346 阅读, 150 推荐, 收藏, 编辑
摘要:圣殿骑士由于工作和项目需要,所以对一些技术进行了较为深入的研究,之前在整个公司做过一些技术专场的培训,由于每次时间较短且人员较多的关系,没能讲得很透彻。一直都想以文字的形式把这些培训细节写出来,但是发现进度确实很慢,所以先来几篇宏观的讲解,希望能起到“授人与鱼也授人以渔”的效果。今天我们就来分享一下WPF内训之旅,这篇文章以WPF培训为主线,中间贯穿了一些其他技术和使用心得。其他培训专题诸如“OO到设计模式”、“WCF基础到企业应用“Silverlight基础到企业应用及优化”随后也会奉上,热诚和大家互相学习,如果有讲得不妥之处,也希望大家能够多多指点! 阅读全文

人生感悟与心得

2010-10-21 21:53 by 圣殿骑士, 14909 阅读, 93 推荐, 收藏, 编辑
摘要:圣殿骑士自从入住博客园和51CTO写技术博客以来收获颇多,在这个过程中既对技术有了新的收获,同时也认识了很多朋友。之前由于工作和项目需要,所以对一些技术进行了较为深入的研究,在整个公司做过一些技术专场的培训(如“OO到设计模式”、“WCF基础到企业应用”、“WPF基础到企业应用及优化”、 “Silverlight基础到企业应用及优化”等),所以在写博客的时候也比较循规蹈矩,大家可以看到WPF系列基本就是按照培训的格式书写,只是比培训说得要深入一些。 阅读全文

自动更新组件分享

2010-10-20 08:37 by 圣殿骑士, 25827 阅读, 146 推荐, 收藏, 编辑
摘要:众所周知,对于一般的软件开发,在开始的时候都会有一个技术选型的阶段,最大的选型就是首先要确定是选择Client/Server模式还是 Browser/Server模式。综合而论:两者各有优劣,在很多方面都不能被对方互相取代,如在适用Internet、维护工作量等方面,B/S比C /S要强很多;但在运行速度、数据安全、人机交互等方面,B/S就远不如C/S那么强大。所以综上所述,凡是C/S的强项,便是B/S的弱项,反之亦然。由于今天讨论的是自动更新组件,所以接下来我们就往这方面细讲,既然C/S模式在运行速度、数据安全、人机交互有这么多的优点,尤其是客户端技术日益发展的今天,如何解决客户端的部署与自动升级问题便是一个非常重要的问题。 阅读全文

Release a AutoUpdater tool

2010-10-18 16:05 by 圣殿骑士, 6553 阅读, 9 推荐, 收藏, 编辑
摘要:Fixing bugs and adding new features is a part of developing software applications. From my experience, sending application updates to users is also a critical part of developing applications, especially when the user has no advanced knowledge of computers. In the Internet era today, the software developer must make application deployment and updating easier and often m 阅读全文

WPF基础到企业应用系列8——依赖属性之“风云再起”

2010-09-27 05:10 by 圣殿骑士, 15770 阅读, 80 推荐, 收藏, 编辑
摘要:由于依赖属性是WPF和Silverlight的核心概念,微软在C\S和B\S平台上主要精力都放到了WPF和Silverlight技术上,同时 Silverlight也是Windows Phone的两大编程模型之一(另外一种是XNA),所以我们花费了大量的时间和篇幅进行论述。在上一篇WPF基础到企业应用系列7——深入剖析依赖属性中,我们首先从依赖属性基本介绍讲起,然后过渡到依赖属性的优先级、附加属性、只读依赖属性、依赖属性元数据、依赖属性回调、验证及强制值、依赖属性监听、代码段(自动生成) 等相关知识,最后我们模拟一个WPF依赖属性的实现,由于上篇是根据微软WPF的BCL源码剖析的,所以这篇我们就研究一下.NET的跨平台版本 MONO,看下它是怎么来实现这个依赖属性机制。 阅读全文

实战第一个云程序

2010-09-08 05:07 by 圣殿骑士, 22076 阅读, 174 推荐, 收藏, 编辑
摘要:本篇文章在安排上大致如下:首先回顾前面的基础知识,这样大家就可以有一个大概的认识;接着介绍开发工具,正所谓“工欲善其事,必先利其器”;再接着就是开发第一个简单程序,通过这个简单程序来看一下其开发过程;开发完毕之后就需要部署,在讲部署之前我们必须要有账户来完成此操作,所以紧接着就依次讲解账户申请和部署流程;大家一直在用程序+数据库模式来开发我们的应用,所以接下来我们就讲SQL AZURE和经典的程序+数据库模式,这样大家就可以避免生疏感,从而使理解也变得更加容易一些。通过这篇文章,我们对云计算有了一个较清晰的认识,了解了它究竟是什么、究竟能做什么以及如何做。如果大家清楚了这些问题,也就达到了本篇预期的效果,同时也为系列后面的文章打下了 阅读全文

“云计算之旅”筹备完成,意见征询!

2010-08-30 11:05 by 圣殿骑士, 6351 阅读, 59 推荐, 收藏, 编辑
摘要: 首先很高兴”WPF 基础到企业应用系列” 能得到大家的关注、支持和认可。最近几个月由于白天要研究云计算专题(公司项目和个人爱好原因),晚上和闲暇时间才写WPF,所以就没能很好专注于一个方面而拖慢了WPF系列的进度,在此也表示深深地歉意。原打算写完WPF这个系列以后才继续“云计算之旅”这个系列,但是经过慎重的思考,同时也考虑到录制视频的关系,所以我决定两个系列同时进行。 阅读全文

WPF基础到企业应用系列7——深入剖析依赖属性(WPF/Silverlight核心)

2010-08-27 03:21 by 圣殿骑士, 26568 阅读, 140 推荐, 收藏, 编辑
摘要:这篇文章比较多,在开篇之前我们会先介绍比本篇更重要的一些东西,然后插播一段“云计算之旅”的广告,作为最近几个月执着研究的东西,终于可以和大家见面了,希望自己能从实践中深入浅出的讲明白。在前面的两个内容之后我们正式进入本篇的主题——依赖属性。依赖属性是WPF的核心概念,所以我们花费了大量的时间和篇幅进行论述,首先从依赖属性基本介绍讲起,然后过渡到依赖属性的优先级、附加属性、只读依赖属性、依赖属性元数据、依赖属性回调、验证及强制值、依赖属性监听、代码段(自动生成) 等相关知识,最后我们会模拟一个WPF依赖属性的实现,来看看它里面的内部究竟是怎样处理的,这样就可以帮助我们更好的认清它的本质,出现问题的时候我们也可以根据原理快速找到原因了。 阅读全文

WPF基础到企业应用系列6——布局全接触

2010-08-02 05:21 by 圣殿骑士, 18734 阅读, 69 推荐, 收藏, 编辑
摘要:这篇文章主要是对WPF布局系统做一个较简单的介绍,大家都知道:UI是做好一个软件很重要的因素,如果没有一个漂亮的UI,在强大的功能也会显得这个软件很脆弱且没有投资价值。本文以总分总的形式展开介绍:首先对WPF Panel做一个总体认识、然后讲解各Panel基本用法、布局综合应用、自定义布局控件以及最后的总结,希望对大家有所帮助。 阅读全文

WPF - 第三方控件

2010-07-31 18:53 by 圣殿骑士, 14355 阅读, 11 推荐, 收藏, 编辑
摘要: 目前第三方控件在网上形成巨大的共享资源,其中包括收费的也有免费的,有开源的也有不开源的,合理的使用第三方控件将使项目组的工作事半功倍。比如项目中有些复杂的业务逻辑、有些绚丽的效果需要有专门的定制控件才能完成,这个时候我们会考虑到是项目组自己开发还是用第三方的控件,其实很多时候我们都会权衡时间和财力来决定,比如时间很紧且项目组人员都没有空余做这些事情,那我们就会选择一些第三方的控件,本文就简单介绍一些WPF方面的第三方控件,作为需要时候的参考。 阅读全文

WPF/Silverlight中的MVVM模式能否在WinForm/ASP.NET上运用?

2010-07-26 03:38 by 圣殿骑士, 12792 阅读, 28 推荐, 收藏, 编辑
摘要:随着WPF/Silverlight等技术的出现,一种新的模式出现在大家面前,那就是MVVM,提到这个模式,大家也许感觉很迷惑,也许会不屑于故,也许你会说我现在做项目都形成了自己的框架了,为什么还要花费额外的时间和精力去学习这个MVVM模式呀?这个模式到底能给我们带来什么样的好处?那么我们本篇也会简单提及,由于这个会在WPF 基础到企业应用系列索引 里详细讲解,所以今天只是走马观花了解一下基本概念。众所周知,这个模式大量用在WPF/Silverlight上,但没有听说过用在Windows Form、ASP.NET等传统技术上。正是基于这个原因,我也对此进行了一些研究,做了一些Demo,但总体感觉在其他技术上不太适合,就一直没有管它了,直至有一天看到Bechir Bejaoui 也有这种思想,并且他打算在WinForm和 阅读全文

WPF 基础到企业应用系列5——WPF千年轮回 续前缘

2010-07-23 04:03 by 圣殿骑士, 11624 阅读, 43 推荐, 收藏, 编辑
摘要:本篇主要对前几次的课程进了一些简单的回顾,同时用一个比较全的Demo介绍了Xaml中引用各种控件和类等,另外对脱离VS工具CSC编译WPF以及XamlReader与XamlWriter 做了比较详细的介绍。 阅读全文

闲话多线程的创建

2010-07-21 05:27 by 圣殿骑士, 14217 阅读, 104 推荐, 收藏, 编辑
摘要: 圣殿骑士首先向大家说声对不起,由于最近身体不适,同时也因为这些天一直在研究微软的云计算平台Windows Azure(公司项目需要),所以暂停了更新WPF 基础到企业应用系列索引,不过经过这几天的调节,尤其是到海边去晒了晒太阳,现在又开始继续发文了,大家有兴趣也可以去看看漂亮的大海图片工作之余的闲暇,今天这篇文章不是专业谈多线程,只是应一些朋友的要求对上篇文章WPF 基础到企业应用系列4——WPF千年轮回进行一些额外的补充,如果有时间,可以单独写一个专题来详细深入多线程的应用,当然由于自己才疏学浅,但渴求对自己知识的纠正和提高,所以发布出来。如有不对的地方,也希望大家多多海涵! 阅读全文

工作之余的闲暇(图片)

2010-07-19 00:06 by 圣殿骑士, 4951 阅读, 13 推荐, 收藏, 编辑
摘要:平时工作比较累,也没有时间到处闲逛,这个周末在一群松下公司朋友的促使下,到东海岸去放松了一天,心情感觉很是愉悦,当站在海边,整个世界突然变得如此开阔,天人合一的同时你可以感觉海边的一朵朵浪花拍打着你的脚趾。闻着大海的气息,平日里的压抑和疲倦都仿佛消失在了这一望无际的天边,也许这就是我此行的目的。 海边野草萧飒之声时刻响起,迎面而来大海的丝丝微风,喷溅而起的朵朵浪花。然后是海的那一种湖泊不具有的味道都让我无限的陶醉,也许这就是我所追求的感觉。也许这就是生活,在忙碌的时候懂得放松,在压抑的时候应该让自己多一些期盼,生活本来就是让自己过得快乐,没有必要活的那么累,人生本来就很短暂,这个世界的快节奏让我们变得越来越累,越来越机器化,周而复始的工作,每天如一的动作都会让我们感觉到厌倦,也许生活本可以过得开心和愉悦才是! 阅读全文

WPF 基础到企业应用系列4——WPF千年轮回

2010-07-14 03:46 by 圣殿骑士, 18653 阅读, 101 推荐, 收藏, 编辑
摘要:本篇主要对Application、window、多线程、类继承结构、逻辑树与可视树等的理论和实际Demo进行了探讨,通过这一篇文章,我们可以大概了解WPF在这些元素上的处理,同时也给我后面的内容奠定了基础,后面会逐渐牵涉到实际的一些案例和新的概念,所以如果有不熟悉且对这个专题感兴趣的朋友可以仔细看一下这篇文章,在文章后面也会把本文用到的代码附加上去,大家可以下载下来进行测试。 阅读全文

WPF 基础到企业应用系列索引

2010-07-09 09:41 by 圣殿骑士, 20718 阅读, 28 推荐, 收藏, 编辑
摘要:  WPF 基础到企业应用系列从WPF的起源、背景、历史、现状讲起,然后逐渐过渡到基础、企业应用以及经验总结等,整个系列计划三十篇左右,每一篇都会认真完成,怀着宁缺毋滥的精神,争取能给读者带来帮助的同时也能提高自己,更进一步希望能以文会友,共同提高! 最后圣殿骑士 会尽心尽力写好这个系列,同时由于是自己对这些技术的使用总结和心得体会,错误之处在所难免,怀着技术交流的心态,在博客园和51CTO发表出来,所以希望大家能够多多指点,这样在使一部分人受益的同时也能纠正我的错误观点,以便和各位共同提高,后续文章敬请关注! 阅读全文

WPF 基础到企业应用系列3——WPF开发漫谈

2010-07-09 02:04 by 圣殿骑士, 30171 阅读, 109 推荐, 收藏, 编辑
摘要: 这篇主要从WPF的开发基础讲起,讲了一些WPF的开发工具等内容,用一个例子来对比了WPF和WinForm的异同之处同时也对某些技术进行了漫谈,通过这篇文章,我们对WPF有了一个基本的了解,所以从下一篇文章开始我们将进入WPF的知识分类讲解,最后会以项目运用、优化和WPF4结束整个系列文章。 阅读全文

WPF 基础到企业应用系列2——WPF前世今生

2010-07-06 04:06 by 圣殿骑士, 23029 阅读, 111 推荐, 收藏, 编辑
摘要:这篇文中介绍了WPF的前世今生,同时介绍了WPF的运行原理和基本应用,在最后也介绍了WPF所包含的主要功能和与现有技术的对比,那么在下一篇我们会讲解WPF的实际开发,通过一个案例对比WPF和之前的WinForm之间的差别,从而对WPF有一个正确的认识。 阅读全文

WPF 基础到企业应用系列1——开篇有益

2010-07-05 07:05 by 圣殿骑士, 28899 阅读, 136 推荐, 收藏, 编辑
摘要:本文从几个方面谈了WPF系列安排、开发工具、参考资料、面试问题、关于前景、效果展示等内容,通过这篇文章,我们主要了解什么是WPF以及WPF到底能给我们带来哪些体验。由于对Windows Live Writer使用不习惯和它发布日志有问题等原因,这篇文章花了5个多小时才完成,那么从下一次起,我将和大家一起进入“WPF基础到企业应用系列之旅”! 阅读全文

31 天重构学习笔记索引

2010-06-30 01:51 by 圣殿骑士, 22251 阅读, 64 推荐, 收藏, 编辑
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对31天重构最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的 blog,所以是在国外的社区上闲逛的时候链接过去的。记得当时一口气看完了整个系列并没有多少感觉,因为这些基本上项目都在使用,只是我们没有专门把它标示和整理出来,所以也没有引起多大的重视。现在突然接手这个重构项目,由于团队成员技术和经验参差不齐,所以有必要专门整理一个重构的纲要,当然这个系列也非常适合做新系统的代码规范参考,只要有代码的地方,这个重构规范就很有价值。 阅读全文

圣殿骑士博文索引

2010-06-30 01:14 by 圣殿骑士, 11815 阅读, 23 推荐, 收藏, 编辑
摘要:圣殿骑士很荣幸入住博客园和51CTO写技术博客,目前主要在一家外资企业从事项目管理、技术架构及企业技术培训工作。由于工作和项目需要,所以对一些技术进行了较为深入的研究,之前在整个公司做过一些技术专场的培训,由于每次时间较短且人员较多的关系,没能讲得很透彻,所以挺对不住那些同事的。现在在园子里开一个博客,希望能把所学的微薄知识书写出来,以供大家参考。近期将针对这些培训专场推出“OO到设计模式”、“WCF基础到企业应用”、“WPF基础到企业应用及优化”、 “Silverlight基础到企业应用及优化”、“Windows Azure基础到企业应用”等系列博文,由于是自己对这些技术的使用总结和心得体会,错误之处在所难免,所以希望大家能够多多指点,这样也能纠正我的错误观点,以便和各位共同提高! 阅读全文

31天重构学习笔记31. 使用多态代替条件判断

2010-06-29 17:31 by 圣殿骑士, 5420 阅读, 11 推荐, 收藏, 编辑
摘要:本文中的”使用多态代替条件判断”是指如果你需要检查对象的类型或者根据类型执行一些操作时,一种很好的办法就是将算法封装到类中,并利用多态性进行抽象调用。”使用多态代替条件判断“这个重构在很多时候会出现设计模式中(常见的工厂家族、策略模式等都可以看到它的影子),因为运用它可以省去很多的条件判断,同时也能简化代码、规范类和对象之间的职责。 阅读全文

31天重构学习笔记30. 尽快返回

2010-06-29 16:33 by 圣殿骑士, 3374 阅读, 1 推荐, 收藏, 编辑
摘要:本文中的”尽快返回”是指把原来复杂的条件判断等语句用尽快返回的方式简化代码。这个重构很重要,它和前面讲的”分解复杂判断“有些类似,我们在做复杂的处理过程时,要经常考虑这个重构,用好了它,会对我们的帮助很大。 阅读全文

31天重构学习笔记29. 去除中间人对象

2010-06-29 16:13 by 圣殿骑士, 2841 阅读, 0 推荐, 收藏, 编辑
摘要:本文中的”去除中间人对象”是指把 在中间关联而不起任何其他作用的类移除,让有关系的两个类直接进行交互。 ”去除中间人对象“很多时候都会很有作用,尤其是在误用设计模式的代码中最容易见到,设计模式中的适配器模式和代理模式等都用中间的类是两者进行关联,这是比较合理的,因为中间类做了很多事情,而对于没有任何作用的中间类应该移除。 阅读全文

31天重构学习笔记28. 为布尔方法命名

2010-06-29 14:31 by 圣殿骑士, 3158 阅读, 1 推荐, 收藏, 编辑
摘要:本文中的”为布尔方法命名”是指如果一个方法带有大量的bool 参数时,可以根据bool 参数的数量,提取出若干个独立的方法来简化参数。”为布尔方法命名“这个重构在很多时候都不常用,如果用户的参数可枚举,我们一般会枚举它的值,不过使用这种重构也有好处,就是分解开来以后,方法多了,参数少了,代码维护起来方便了一些。 阅读全文

31天重构学习笔记27. 去除上帝类

2010-06-29 13:53 by 圣殿骑士, 4355 阅读, 4 推荐, 收藏, 编辑
摘要:本文中的”去除上帝类”是指把一个看似功能很强且很难维护的类,按照职责把自己的属性或方法分派到各自的类中或分解成功能明确的类,从而去掉上帝类。”去除上帝类“是我们经常容易造成的,第一是因为简便,看到有一个现成的类,大家都会喜欢把代码往里面写,最后导致越写越大,并且声明功能都有,这样即降低了可读性,也造成了维护的负担。 阅读全文

31天重构学习笔记26. 避免双重否定

2010-06-29 13:35 by 圣殿骑士, 2981 阅读, 2 推荐, 收藏, 编辑
摘要:本文中的”避免双重否定”是指把代码中的双重否定语句修改成简单的肯定语句,这样即让代码可读,同时也给维护带来了方便。”双重否定“很容易让人产生错误的判断,也很难让人理解你的代码,所以这个重构在我们的代码中是很重要的,尤其是在判断条件很多且业务复杂的时候。 阅读全文

31天重构学习笔记25. 引入契约式设计

2010-06-29 12:02 by 圣殿骑士, 3145 阅读, 0 推荐, 收藏, 编辑
摘要:本文中的”引入契约式设计”是指我们应该对应该对输入和输出进行验证,以确保系统不会出现我们所想象不到的异常和得不到我们想要的结果。微软在处理代码乃至产品的时候,很喜欢应用此重构,你如果认真看它的代码库,认真看一下WCF的设计,就不难发现了。这个重构建议大家经常使用,这会增强整个系统的稳定性和健壮性。 阅读全文

31天重构学习笔记24. 分解复杂判断

2010-06-29 10:45 by 圣殿骑士, 3484 阅读, 3 推荐, 收藏, 编辑
摘要:本文中的”分解复杂判断”是指把原来复杂的条件判断等语句用尽快返回等方式简化代码。这个重构很重要,它和后面讲的”尽快返回“有些类似,我们在做复杂的处理过程时,要经常考虑这个重构,用好了它,会对我们的帮助很大。 阅读全文

31天重构学习笔记23. 引入参数对象

2010-06-29 10:20 by 圣殿骑士, 2863 阅读, 3 推荐, 收藏, 编辑
摘要:本文中的“引入参数对象”是指当一个方法的参数过多或者过为复杂时,可以考虑把这些参数封装成一个单独的类,这种重构很重要,尤其是当一个方法的参数比较多的时候,不管是大中型项目还是小型项目,都会遇到这种场景,所以建议大家多使用这个重构。这种封装的思想在 SOA 里面也经常运用到,封装输入Message,封装输出Message,消息来和消息去以及消息间的交互就构成了整个应用体系。 阅读全文

31天重构学习笔记22. 分解方法

2010-06-29 09:58 by 圣殿骑士, 2583 阅读, 0 推荐, 收藏, 编辑
摘要:本文中的”分解方法”是指把我们所做的这个功能不停的分解方法,直到将一个大方法分解为名字有意义且可读性更好的若干个小方法。其实这个重构和我们前面讲的“提取方法”和“提取方法对象”如出一辙,尤其是“提取方法”,所以大家只要知道用这种思想重构就行。 阅读全文

31天重构学习笔记21. 合并继承

2010-06-29 09:46 by 圣殿骑士, 2679 阅读, 1 推荐, 收藏, 编辑
摘要:本文中的”合并继承”是指如果子类的属性和方法也适合于基类,那么就可以移除子类,从而减少依赖关系。这篇和上篇其实最主要论述了子类和父类的继承关系以及如何判断什么时候需要使用继承,一般我们都能处理好这些关系,所以相对比较简单。 阅读全文