摘要:
解决的问题:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。这个其实和C++的拷贝构造函数的作用是一致的,实际上就是动态抽取当前对象运行时的状态。 类图结构:客户(Client)角色:客户类提出创建对象的请求。 抽象原型(Prototype)角色:这是一个抽象角色,通常由一个C#接口或抽象类实现。此角色给出所有的具体原型类所需的接口。在C#中,抽象原型角色通常实现了ICloneable接口。 具体原型(ConcretePrototype)角色:被复制的对象。此角色需要实现抽象原型角色所要求的接口。 样例实现:例子参照wuzhekai1985的简历的例子,代码拷贝如下:// Cp 阅读全文
摘要:
原创图书《构建高质量的C#代码》已由电子工业出版社博文视点出版,欢迎大家多交流!我的E-mail: chydev@vip.163.com以下为图书内容简介:作为软件的基石,代码的质量决定了最终产品的质量,本书从这一点出发,介绍了高质量C#代码的成就过程,即从基础代码到软件结构,以及不断优化和重构的过程。本书主要内容包括C#的基本语法、结构与应用特点,常用开发资源与技术要点,设计模式在C#中的应用等,以及特别重要的一点,即我们应该养成良好的开发习惯,不仅要注重技术细节,还要从更宽阔的视野角度来重新审视代码的构建工作。无论你是C#初学者,还是正在应用C#的开发者,如果你关注代码的质量,愿意进一步. 阅读全文
摘要:
今天看到VS2012 UPDATE 2正式版发布了,于是到微软的网站去下载可惜看到的是在线安装程序,只有1.3M大小,本人想要个完整包脱离在线安装的这种方式以后有着也方便啊,可惜微软并没有提供,后来在网上找了找,发现微软的这个程序可以进行下载完整包的功能,感觉欣喜如狂,开始动手去做,但是天不随人愿,大概下载到900M的时候,提示找不到包源了,我选择internet方式还是找不到。这点得批评微软一下自己做的东西怎么找不到自己的资源了,呵呵愤怒的小鸟没有办法寻找其它办法了,在提供的日志文件里也没找对啥问题,于是继续搜索,终于看到了完整包下载地址,首先要感谢那个哥们做出这个包,不过事先声明写这个文章 阅读全文
摘要:
JUnit单元测试入门(四)--JUnit运行测试套件前面几篇我们讲的是单个单个程序测试,这种方式在测试类比较少的时候可行的,但是如果测试类多了,单个单个的这个测试方式效率就不尽如人意了,也不推荐,那得使用运行测试套件,对整个测试类进行执行测试。 一个TestSuite是一个复合的测试。它运行测试用例集。 这个测试程序就是把一个包的全部测试程序一起测试,而不用单个单个进行测试:代码如下:package com.junit3_8; import junit.framework.Test; import junit.framework.TestCase; import junit.fr... 阅读全文
摘要:
在oracle中左右连接省去了sql server中复杂的连接语句(left join ,right join),就用一个"(+)"表示。 下面做了下实验:其中查询1和查询2是等同效果的,查询3和查询4是等同效果的。查询1: select first_name,department_name,emp.department_id from emp,departments dept where emp.department_id(+)=dept.department_id;122 rows selected.查询2: select first_name,department_n 阅读全文