07 2010 档案
C# partial关键字说明
摘要:1. 什么是局部类型?C# 2.0 引入了局部类型的概念。局部类型允许我们将一个类、结构或接口分成几个部分,分别实现在几个不同的.cs文件中。局部类型适用于以下情况:(1) 类型特别大,不宜放在一个文件中实现。(2) 一个类型中的一部分代码为自动化工具生成的代码,不宜与我们自己编写的代码混合在一起。(3) 需要多人合作编写一个类。局部类型是一个纯语言层的编译处理,不影响任何执行机制—&...
阅读全文
IIS7.0 “检测到在集成的托管管道模式下不适用的ASP.NET设置”解决方法
摘要:错误截图:修改配置截图:
阅读全文
在.NET环境中实现每日构建(Daily Build)之ccnet,MSBuild
摘要:在.NET环境中实现每日构建(Daily Build)--ccnet,MSBuild篇 每日构建,对我们团队来说一个全新的概念。随着项目开发的进展,在开发过程需要及时反馈一些BUG和功能要求的处理情况。而在这种情况下每天或隔一段时间Build一个版本,工作量还是比较大的,所以就特别有必要引入每日构建。关于每日构建,在园里有已经有很多的文章了,特别是摩诘的《在.NET环境中实现每日构建(Daily ...
阅读全文
非常实用:C#中SQL传参的自动设置和赋值
摘要:引子:某年某日,公司Web程序被注入,导致数据库一塌糊涂。CIO大怒,要求以后所有数据库的交互行为都只能用SP,于是乎,即使是没有任何参数的一条查询语句也必须去到DB中加一条SP... 项目实例:新入手一个项目,业务流程比较复杂,数据库交互很多,一条条的SP写的煞是烦人,尤其是在DAL中设置Command的Parameters,繁琐而又费眼睛,写多了很容易出错,因为不仅仅要考虑参数的个数,而且要...
阅读全文
必会重构技巧:封装集合
摘要:封装集合:将集合中的某些方法封装起来,这些方法一般会牵扯到其他的逻辑。 举例理解:比如你给一个List<T>里面加一个对象的同时,可能还有一个计数器在计算List中对象的个数,我们不用暴露计数器,这样List.Add()和List.Remove()我们就可以封装起来了。 项目实例:我记得我有个项目需要不断的从数据库中读取User的Guid然后狂发Mail。开始的想法很简单,根据Wi...
阅读全文
必会重构技巧:使用多态替换条件
摘要:使用多态替换条件:指在进行类型检查和执行某些类型操作时,最好将算法封装在类中,并且使用多态来对代码中的调用进行抽象 举例理解:看定义可能比较迷糊,其实说的简单一点,对于使用分支语句并且分支条件是和类型检查相关的程序段,如 if(type == typeof(TypeA)){...}else if(type == typeof(TypeB)){...},可以把{...}中的Code,尝试放到if的...
阅读全文
必会重构技巧:提取接口
摘要:提取接口:当有多余一个类使用另外一个类中的方法时,可以考虑引入接口,解除这种依赖。 举例理解:比如说类A中有个方法为Call(Type T),类B和类C中都有方法都要调用Call这个方法,那么我们推荐引入一个接口,这样传参时可以直接new一个接口,可以解除调用方法和实现方法之间的耦合关系。面向接口编程也算是OO中比较重要的吧。 项目实例:一般而言在设计的时候,对于比较可能扩展的部分都会用接口或...
阅读全文
必会重构技巧:提取工厂类
摘要:提取工厂类:使用一个简单工厂类来新建对象实例。 举例理解:对于一个客户端事件,我们可能需要初始化一个对象实例,并调用其中的几个方法做一系列的操作。如果客户端事件经常需要扩展,那可能每次初始化的对象实例可能都是不同的,那么为了把这个初始化对象的动作封装起来,为了使这个行为更加便于维护,我们就需要把初始化对象的动作交给简单工厂类来统一完成。 项目实例:做过一个小型的购物商城。其中有个需求简述如下:...
阅读全文