摘要: ##配置```git config --global user.name "Your Name"git config --global user.email "email@example.com"```来自为知笔记(Wiz)附件列表cheat-sheet-large01.png 阅读全文
posted @ 2015-10-14 18:40 tanhaiyuan 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 1 配置gcc下载: 首先下载mingw,解压。配置环境变量: 系统变量中找到Path,在Path中添加 D:\Program Files\MinGW\bin;测试: 运行cmd,输入gcc -v就会看到其版本,否者,就配置没成功。2 C/C++编译过程程序名 hello.c代码:#include int main(){ printf("hello\n");}总编译过程命令:gcc he... 阅读全文
posted @ 2014-01-03 15:20 tanhaiyuan 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 概括 一个数组,其中的元素各自代表不同的东西。 以对象替换数组。对于数组中每个元素,以一个字段来表示。 例子String [] row = new String[3];row[0] = "Live";row[1] = "15";//重构之后Performance row = new Performance();row.setName("Live");row.setWins("1... 阅读全文
posted @ 2013-11-29 10:39 tanhaiyuan 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 概括 一个引用对象,很小而且不可变(是类本身不能变,而不是类对象的值不能变),且不易管理。 将它变为一个值对象。 例子 动机 在分布系统和并发系统中,不可变的值对象特别有用,因为无需考虑他们的同步问题。做法.实践.来自为知笔记(Wiz) 阅读全文
posted @ 2013-11-29 10:34 tanhaiyuan 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 概括 一个类具有许多相等的实例,希望将它们替换为同一个对象。 将这个值对象变为引用对象。 (我理解的就是用单例模式实现引用对象) 例子 动机 要在引用对象和值对象之间做选择有时候并不容易。 使用的情况:希望给这个对象加入一些可修改数据,并确保对任何一个对象的修改该都能影响到所有引用此对象的地方。 例如使用值对象时,对分订单属于同... 阅读全文
posted @ 2013-11-29 10:29 tanhaiyuan 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 概括 类的一个数据项,需要额外的其他数据和行为。 将数据项封装为对象。 例子 动机 开发初期,常常以简单的数据项表示简单的情况。但是,随着开发的进行,可能会发现,这些简单数据项不再那么简单了。 比如订单,开始时顾客只有名字属性,此时就放在订单类中。后来,随着发展,顾客不仅有名字,还增添了许多其他信息(如地址,电话号码,年龄等),此时就应该将名字分离出来,封装进顾客类... 阅读全文
posted @ 2013-11-29 10:23 tanhaiyuan 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 概括 在类内部直接访问一个字段,但与字段之间的耦合关系逐渐变得笨拙。 为这个字段建立取值/设值 函数,并且只以这些函数来访问字段。 例子private int _low, _high;boolean includes(int arg){ return (arg>=_low && arg=getLow() && arg<=getHigh());}int getLow(){ ret... 阅读全文
posted @ 2013-11-29 09:56 tanhaiyuan 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 概括 需要为服务类提供一些额外函数,但你无法修改此类。 建立一个新类,使它包含这些额外函数。让这个扩展称为源类的子类或包装类。 例子 动机.做法.实践.来自为知笔记(Wiz) 阅读全文
posted @ 2013-11-28 11:03 tanhaiyuan 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 概括 需要为提供服务的类增加一个函数,但你无法修改这个类。 在客户类中建立一个函数,并以第一参数形式传入一个服务类实例。 例子Date newStart = new Date(previousEnd.getYear(), previousEnd.getMonth(),previousEnd.getDate()+1);重构后Date newStart = next... 阅读全文
posted @ 2013-11-28 10:45 tanhaiyuan 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 概括 某个类做了过多的简单委托动作。 让客户直接调用委托。 例子 动机 Hide Delegate中的封装是要付出代价的,代价:每当客户要使用委托的新特性时,必须在服务端增加一个简单委托函数。尤其是服务器委托变得很多后。做法.实践.来自为知笔记(Wiz) 阅读全文
posted @ 2013-11-28 10:44 tanhaiyuan 阅读(207) 评论(0) 推荐(0) 编辑