Fork me on GitHub

03 2013 档案

摘要:在网络上流畅很广的一篇旧文,暂时没找到原作者,目前所看到的最早转载时间是 2005 年 2 月 28 日。作者用轻松的语言,形象解释了 23 种模式,有很好的启发作用。创建型模式1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。2、BU... 阅读全文
posted @ 2013-03-19 17:16 IsaacZhang 阅读(269) 评论(0) 推荐(0) 编辑
摘要:值类型的拆箱和装箱 对值类型进行装箱操作,内部发生: 在托管堆中分配好内存; 值类型的字段复制到新分配的堆内存; 返回对象地址。 CLR分两步进行拆箱: 获取以装箱对象中的各个字段的地址; 将字段包含的值从堆中复制到栈的实例中。 1: //以下代码演示了拆箱和复制操作 2: p... 阅读全文
posted @ 2013-03-17 22:36 IsaacZhang 阅读(253) 评论(0) 推荐(0) 编辑
摘要:引用类型和值类型使用引用类型时,必须注意到一些性能损耗,要考虑以下事实:内存必须从托管堆上分配堆上分配的每个对象都有一些额外的成员,这些成员必须初始化对象中的其他字节(为字段而设)总是设置为0从托管堆上分配一个对象时,总是强制执行一次垃圾收集操作虽然FCL得大多数类型都是引用类型,但程序员使用最多的还是值类型,如果一个程序全部使用的是引用类型,那么它的性能会极度低下。为了提升性能,CLR提供了名为“值类型”的轻量级类型。值类型不受GC得控制。.NET Framework SDK明确指出,哪些类型是值类型 OR 引用类型:任何称为“类”的都是引用类型:System.Exception类、Syst 阅读全文
posted @ 2013-03-15 22:17 IsaacZhang 阅读(242) 评论(0) 推荐(0) 编辑
摘要:1. Start在这个阶段,页面属性,比如Request, Response, IsPostBack和UICulture 被创建。最为一个开发人员,大部分时候在这个阶段你不需要做任何事。如果你需要调用或者重写(override)这一阶段的行为,可以使用PreInit方法创建或者重新创建动态控件,设置master page或者theme或者读取和设置profile property的值。要注意的一点是,如果是回传(postback)的页面请求,所有控件的值还没有从view state里还原,如果你在这个阶段设置一个控件的值,这个值有可能在下面的阶段被重写并覆盖2. Initialize这个阶段对 阅读全文
posted @ 2013-03-15 11:07 IsaacZhang 阅读(200) 评论(0) 推荐(0) 编辑
摘要:课文 I entered the hotel manager's office and sat down. I had just lost $50 and I felt very upset. 'I left the money in my room,' I said, 'and it's not there now.' The manager was sympathetic, but he c... 阅读全文
posted @ 2013-03-13 20:42 IsaacZhang 阅读(310) 评论(0) 推荐(0) 编辑
摘要:课文My daughter, Jane, never dreamed of receiving a letter from a girl of her own age in Holland. Last year, we were travelling across the Channel and Jane put a piece of paper with her name and address on it into a bottle. She threw the bottle into the sea. She never thought of it again, but ten mont 阅读全文
posted @ 2013-03-11 20:32 IsaacZhang 阅读(218) 评论(0) 推荐(0) 编辑
摘要:本章内容编程语言的基元类型引用类型和值类型值类型的装箱和拆箱对象哈希码dynamic基元类型本章目的通过学习了解基元类型、引用类型和值类型的区别,希望让coder能避免引用一些不易察觉的bug,并提高性能。编程语言的基元类型 1: //分配一个整数 2: System.Int32 a = new System.Int32(); 3: //C#中我们使用 4: int a = 0;如上代码,某些类型很常用,许多编译器允许简化他们的语法,而且生成的IL代码与使用System.Int32生成的IL代码完全一致。编译器直接支持的数据类型称为基元类型(primitive type... 阅读全文
posted @ 2013-03-10 22:47 IsaacZhang 阅读(353) 评论(0) 推荐(0) 编辑
摘要:原课文 Aeroplanes are slowly driving me mad. I live near an airport and passing planes can be heard night and day. The airport was built years ago, but for some reason it could not be used then. Last ye... 阅读全文
posted @ 2013-03-10 20:32 IsaacZhang 阅读(348) 评论(0) 推荐(0) 编辑
摘要:类型转换CLR最重要的特性之一是安全性,在运行时,通过调用GetType(),总是知道一个对象的确切类型。CLR允许将一个对象转换为它的实际类型或者它的任何基类型。Eg: C#可直接将一个对象转换为它的任何基类,因为向基类转换被认为是一种安全的隐式转换。但是将对象向它的某个派生类转换时,C#要求必须显示转换,因为这种转换可能在运行时报错。类型伪装是去多安全漏洞的根源。在C#中还有is和as两种转换方式:is转换:is检查一个类型是否兼容于指定的类型,并返回一个Boolean值。(is操作符永远不会抛出异常,只会返回ture or false) 1: Object o = new Obje... 阅读全文
posted @ 2013-03-09 23:45 IsaacZhang 阅读(328) 评论(0) 推荐(0) 编辑
摘要:课文: Fishing is my favourite sport. I often fish for hours without catching anything. But this does not worry me. Some fishermen are unlucky. Instead of catching fish, they catch old boots and rubbish... 阅读全文
posted @ 2013-03-09 20:33 IsaacZhang 阅读(802) 评论(0) 推荐(0) 编辑
摘要:本章内容要点所有类型都从System.Object派生类型转换命名空间和程序集运行时的相互联系所有类型都从System.Object派生“运行时”要求每个类型最终都要从System.Object类型派生。由于所有类型最终都从System.Object派生,所以可以保证每个类型的每个对象都有一组最基本的方法,具体如下:此外,从System.Object派生的类型能访问受保护的方法,如下图CLR要求所有对象都用new操作符来创建,Eg. NameClass isaac = new NameClass();以下为new所做的事情:计算所有需要的字节数从托管堆中分配指定类型需要的字节数,从而分配对象的 阅读全文
posted @ 2013-03-06 23:16 IsaacZhang 阅读(109) 评论(0) 推荐(0) 编辑
摘要:My aunt Jennifer is an actress. She must be at least thirty-five years old. In spite of this, she often appears on the stage as a young girl. Jennifer will have to take part in a new play soon. This t... 阅读全文
posted @ 2013-03-06 22:18 IsaacZhang 阅读(162) 评论(0) 推荐(0) 编辑
摘要:What was the polite request? If you park your car in the wrong place, a traffic policeman will soon find it. You will be very lucky if he lets you go without a ticket. However, this ... 阅读全文
posted @ 2013-03-05 21:01 IsaacZhang 阅读(266) 评论(0) 推荐(0) 编辑
摘要:CLR支持两种程序集:弱命名程序集(weakly named assembly)和强命名程序集(strongly named assembly).由于弱类型程序集总是私有部署的,所以当CLR在应用程序的基目录或者子目录中搜索程序集的文件时,只会使用程序集的名称(添加一个.dll或者.exe)。强类型程序集则是由一个文件名、一个版本号和一个语言文化(culture),除此之外,强命名程序集还使用发布者的私钥进行了签名。创建强类型步骤:使用Strong Name实用程序(SN.exe)来获取一个密钥。(这个程序与.NET Framework SDK和MS VS配套提供的。)Eg. SN –k My 阅读全文
posted @ 2013-03-04 22:52 IsaacZhang 阅读(166) 评论(0) 推荐(0) 编辑
摘要:课文链接:http://www.ebigear.com/res-27-7777700000358.html 笔记链接:http://bbs.ebigear.com/space-uid-3256188.html 课文: I was having dinner at a restaurant when Tony Steele came in. Tony worked in a la... 阅读全文
posted @ 2013-03-04 22:13 IsaacZhang 阅读(237) 评论(0) 推荐(0) 编辑
摘要:课文链接:http://www.ebigear.com/res-27-7777700000362.html 笔记链接:http://bbs.ebigear.com/space-uid-3256188.html 课文: The secretary told me that Mr. Harmsworth would see me. I felt very nervous when I went into his office. He did not look up from his desk when I entered. After I had sat down, he s... 阅读全文
posted @ 2013-03-03 21:52 IsaacZhang 阅读(225) 评论(0) 推荐(0) 编辑
摘要:今天加班回来晚了,由于明天周末还要去加班给客户部署系统,所以今天就只要学个英语了,明天争取把C#补上。课文链接:http://www.ebigear.com/res-1393-7777700044607.html 笔记链接:http://bbs.ebigear.com/space-uid-3256188.html 课文: The Greenwood Boys are a group of pop singers. At present, they are visiting all parts of the country. They will be arriving here to... 阅读全文
posted @ 2013-03-01 23:12 IsaacZhang 阅读(197) 评论(0) 推荐(0) 编辑