上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 26 下一页

2017年9月14日

重构改善既有代码设计--重构手法09:Substitute Algorithm (替换算法)

摘要: 你想要把某个算法替换为另一个更清晰地算法。将函数本体替换为另一个算法。 重构: 动机:解决问题有好几种方法。算法也是如此。如果你发现做一件事可以有更清晰地方式,就应该以较清晰地方式取代复杂的方式。“重构”可以把一些复杂东西分解为较简单的小块,但有时你就必须删除整个算法,代之以简单的算法。随着对问题有 阅读全文

posted @ 2017-09-14 22:45 pony1223 阅读(504) 评论(0) 推荐(0)

重构改善既有代码设计--重构手法08:Replace Method with Method Object (以函数对象取代函数)

摘要: 你有一个大型函数,其中对局部变量的使用,使你无法釆用 Extract Method。 将这个函数放进一个单独对象中,如此一来局部变量就成了对象内的值域(field) 然后你可以在同一个对象中将这个大型函数分解为数个小型函数。 动机:局部变量的存在会增加函数分解的难度。如果一个函数之中局部变量泛滥,那 阅读全文

posted @ 2017-09-14 22:42 pony1223 阅读(413) 评论(0) 推荐(0)

重构改善既有代码设计--重构手法07:Remove Assignments to Parameters (移除对参数的赋值)

摘要: 代码对一个 参数赋值。以一个临时变量取代该参数的位置。 重构后: 动机:要清楚“对参数赋值”这个说法的意思。如果你把一个名为foo的对象作为参数传给某个函数,那么“对参数赋值”意味着改变foo,使它引用另外一个对象。如果你在“被传入对象”身上进行什么操作,那没什么问题。这里只针对“foo被改而指向另 阅读全文

posted @ 2017-09-14 22:36 pony1223 阅读(423) 评论(0) 推荐(0)

重构改善既有代码设计--重构手法06:Split Temporary Variable (分解临时变量)

摘要: 你的程序有某个临时变量被赋值超过一次,它既不是循环变量,也不被用于收集计算结果。针对每次赋值,创造一个独立、对应的临时变量 重构后: 动机:临时变量有各种不同用途,其中某些用途会很自然的导致临时变量被多次赋值。“循环变量”和“结果收集变量”就是典型的例子:循环变量会随循环的每次运行而改变; 结果收集 阅读全文

posted @ 2017-09-14 22:29 pony1223 阅读(548) 评论(0) 推荐(0)

重构改善既有代码设计--重构手法05:Introduce Explaining Variable (引入解释性变量)

摘要: 发现:你有一个复杂的表达式。 解决:将该复杂的表达式(或其中的部分)的结果放进一个临时变量,并以此变量名称来解释表达式用途。 动机:表达式有可能非常复杂而难以阅读。这种情况下,临时变量可以帮助你将表达式分解为比较容易管理的形式。 在条件逻辑中,Introduce Explaining Variabl 阅读全文

posted @ 2017-09-14 22:20 pony1223 阅读(435) 评论(0) 推荐(0)

重构改善既有代码设计--重构手法04:Replace Temp with Query (以查询取代临时变量)

摘要: 所谓的以查询取代临时变量:就是当你的程序以一个临时变量保存某一个表达式的运算效果。将这个表达式提炼到一个独立函数中。将这个临时变量的所有引用点替换为对新函数的调用。此后,新函数就可以被其他函数调用。 例子如下: 重构之后代码: 引用书中原文来说: 动机:临时变量的问题在于:它们是暂时的,而且只能在所 阅读全文

posted @ 2017-09-14 22:12 pony1223 阅读(625) 评论(0) 推荐(0)

2017年9月13日

JAVA设计模式:状态模式

摘要: 声明:转载请说明来源:http://www.cnblogs.com/pony1223/p/7518226.html 一、引出状态模式 假设我们现在有一个糖果机项目,那么我们知道正常一般糖果机提供给用户的行为有这么几种:投入硬币、转动曲柄、退出硬币几种行为;那么糖果机呢一般有这几中状态,待机状态、持有 阅读全文

posted @ 2017-09-13 23:02 pony1223 阅读(16527) 评论(6) 推荐(8)

2017年9月12日

重构改善既有代码设计--重构手法02:Inline Method (内联函数)& 03: Inline Temp(内联临时变量)

摘要: Inline Method (内联函数) 一个函数调用的本体与名称同样清楚易懂。在函数调用点插入函数体,然后移除该函数。 int GetRating() { return MoreThanfiveLateDeliverise() ? 2 : 1; } bool MoreThanfiveLateDel 阅读全文

posted @ 2017-09-12 23:17 pony1223 阅读(1805) 评论(0) 推荐(0)

重构改善既有代码设计--重构手法01:Extract Method (提炼函数)

摘要: 背景: 你有一段代码可以被组织在一起并独立出来。将这段代码放进一个独立函数,并让函数名称解释该函数的用途。 void PrintOwing(double amount) { PrintBanner(); //print details Console.WriteLine("name:"+_name) 阅读全文

posted @ 2017-09-12 23:07 pony1223 阅读(820) 评论(0) 推荐(0)

2017年9月3日

httpclient 学习

摘要: Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性,它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很 阅读全文

posted @ 2017-09-03 22:33 pony1223 阅读(1787) 评论(1) 推荐(0)

上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 26 下一页

导航