摘要: 引言 本文之初的目的是讲述设计模式中的 Prototype(原型)模式,但是如果想较清楚地弄明白这个模式,需要了解对象克隆(Object Clone),Clone其实也就是对象复制。复制又分为了浅度复制(Shallow Copy)和深度复制(Deep Copy),浅度复制和深度复制又是以如何复制引用 阅读全文
posted @ 2017-01-26 15:15 CharyGao 阅读(348) 评论(0) 推荐(0) 编辑
摘要: str2依然是ab,并没有随str1的改变而改变。如果string是引用类型,按理Str1和Str指针都指向同一内存地址,如果Str的内容发生改变,Str1应该也会相应变化。此例子,看着string更像是值类型。 但是MSDN却说String是引用类型。 查看具体引用是否相同 Net不允许查看内存地 阅读全文
posted @ 2017-01-26 13:54 CharyGao 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 注意:在实际使用中,.NET把string弄成了值类型。所以不要把string当引用类型看。【String是引用类型,只是编译器对其做了特殊处理。】 因为值类型是存储在内存中的栈(之前也称之为堆栈Stack,为了区分堆Heap,此处用栈命名)上,而引用类型的变量在栈Stack中仅仅是存储引用类型变量 阅读全文
posted @ 2017-01-26 11:21 CharyGao 阅读(599) 评论(0) 推荐(0) 编辑
摘要: 单体模式(Singleton)是经常为了保证应用程序操作某一全局对象,让其保持一致而产生的对象,例如对文件的读写操作的锁定,数据库操作的时候的事务回滚,还有任务管理器操作,都是一单体模式读取的。创建一个单体模式类,必须符合三个条件:1:私有构造函数(防止其他对象创建实例);2:一个单体类型的私有变量 阅读全文
posted @ 2017-01-26 10:30 CharyGao 阅读(459) 评论(0) 推荐(0) 编辑