2007年8月26日

摘要: #if/#endif块用来对同样的源代码产生不同的版本,大多是debug和release版本。但它并不好用,#if/#endif块很容易被滥用,代码难于调试与理解。语言设计者们意识到并为我们提供了更好的工具,用来生成不同运行环境下的机器代码。c#为我们添加了Conditional特性用于指示某个方法的调用是基于环境设置的。这种方法比起#if/#endif块它对条件编译阐述的更清晰。编译器认识Con... 阅读全文
posted @ 2007-08-26 14:14 Cruise 阅读(949) 评论(0) 推荐(0) 编辑

2007年8月19日

摘要: C#是强类型的语言。好的编程习惯是当可以避免类型转换就尽量避免。但有时,运行时类型检查是不可避免的。c#中你常常写些带有System.Object类型的参数的方法,因为框架已经为你定义了方法的原型。你可能会将Object类型向下转型,转成其他类型或类或接口。你有两个选择:用as操作符或老式的C强制转型写法。你得对变量保护:你可以用is操作符测试类型转换,然后再进行转换。正确的做法总是使用as操作符... 阅读全文
posted @ 2007-08-19 21:32 Cruise 阅读(2089) 评论(3) 推荐(0) 编辑
 
摘要: c#有两种不同版本的常量:编译时常量和运行时常量。它们有完全不同的行为,如果用的不好将花费额外性能甚至出错。如果你一定要选择其一,一个慢但正确的程序总比一个快的错的程序好,所以你应该选择运行时常量而不是编译时常量。编译时常量相对运行时常量虽然快,但并不灵活。当涉及程序性能并且其值不会改变时我们应该保留编译时常量。定义运行时常量用关键字readonly ,编译时常量用关键字const 声明://Co... 阅读全文
posted @ 2007-08-19 13:28 Cruise 阅读(536) 评论(0) 推荐(0) 编辑

2007年8月18日

摘要: C#语言已经将属性的地位从编程习惯提升为良好的语言特征。如果你仍在自己的类型中创建公共变量,建议不要这样做;也不要手工创建get 和set方法。属性暴露数据成员作为公共接口的一部分并提供面向对象环境中的封装功能。属性是一种语言元素,访问它们如同访问数据成员,但是它们由方法来实现。类型的一些成员,数据成员是它们最好的表现形式:客户的名字,点的x,y坐标,去年的税收。属性允许你创建一个接口,用起来如同... 阅读全文
posted @ 2007-08-18 23:07 Cruise 阅读(702) 评论(0) 推荐(0) 编辑

2007年8月4日

摘要: 原文链接:http://dotnetslackers.com/articles/iis/ASPNETInternalsIISAndTheProcessModel.aspx发布日期:5-3-2007作者:Simone BusoliASP.NET是一个构建web应用程序和组件的漂亮框架,但由于它的扩展性使得绝大多数人无法了解它的每个细节。尽管通过网络或图书可以找到很多可用的资料,但我也发现关于底层架构... 阅读全文
posted @ 2007-08-04 19:15 Cruise 阅读(908) 评论(1) 推荐(0) 编辑

2007年7月29日

摘要: 原文链接:http://dotnetslackers.com/articles/iis/ASPNETInternalsIISAndTheProcessModel2.aspx作者:Simone Busoli日期:6.13.2007ASP.NET的内部机制有时就象是舞台背后的魔术,给开发者提供一个高度抽象的层面,把注意力集中在应用程序的逻辑上,而不需要去处理Http协议的底层机制。ASP.NET建立在... 阅读全文
posted @ 2007-07-29 14:55 Cruise 阅读(1220) 评论(2) 推荐(0) 编辑

2007年7月21日

摘要: 原文链接:http://aspnet.4guysfromrolla.com/articles/011404-1.aspx作者:Scott Mitchell简介你是否仔细地想过当一个Asp.net Web页面请求到达服务器的时候,服务器端发生了什么?服务器是如何处理到来的请求的?发送给浏览器的HTML是怎么产生的?开发者可能会用什么机制去处理不同阶段的请求呢?这篇文章将对服务器如何处理Http请求进... 阅读全文
posted @ 2007-07-21 20:17 Cruise 阅读(1301) 评论(3) 推荐(0) 编辑

2007年7月15日

摘要: 深入探索.NET框架内部了解CLR如何创建运行时对象发布日期: 9/19/2005 | 更新日期: 9/19/2005Hanu KommalapatiTom Christian本文讨论: • SystemDomain, SharedDomain, and DefaultDomain • 对象布局和内存细节。 • 方法表布局。 • 方法分派(Metho... 阅读全文
posted @ 2007-07-15 22:29 Cruise 阅读(648) 评论(0) 推荐(0) 编辑

2007年4月8日

摘要: 这可以说是作者Maysam Mahfouzi自己学习委托与事件的一篇心得,文章很好的阐述了方法、委托及事件三者之间的关系:事件管理委托,委托(函数指针)管理方法。对于想学习委托和事件的你,这无疑是一篇好文章。 阅读全文
posted @ 2007-04-08 12:56 Cruise 阅读(5812) 评论(16) 推荐(3) 编辑

2007年2月7日

摘要: 这里主要摘录了面向对象五大基本原则:单一职责原则(Single Responce Principle)、开放-封闭原则(The Open-Closed Principle)、里氏替换原则(Liskov Substitution Principle)、依赖倒置原则(Dependency Inversion Principle)、接口隔离原则(Interface Segregation Principle)。这些原则是大师们在经历了很多实践后总结出来的,我们也只有不断的实践才能体会这些原则真正的意义,而不是用来“套”用的。 阅读全文
posted @ 2007-02-07 21:58 Cruise 阅读(1002) 评论(3) 推荐(0) 编辑