概念:本文中的“提取方法对象”是指当你发现一个方法中存在过多的局部变量时,你可以通过使用“提取方法对象”重构来引入一些方法,每个方法完成任务的一个步骤,这样可以使得程序变得更具有可读性。
正文:如下代码所示,Order 类中的Calculate方法要完成很多功能,在之前我们用“提取方法”来进行重构,现在我们采取“提取方法对象”来完成重构。
using System.Collect...
分类:
其他好文 时间:
2015-07-21 10:38:11
阅读次数:
102
概念:本文中的“分解依赖” 是指对部分不满足我们要求的类和方法进行依赖分解,通过装饰器来达到我们需要的功能。
正文:正如下面代码所示,如果你要在你的代码中加入单元测试但有一部分代码是你不想测试的,那么你应用使用这个的重构。下面的例子中我们应用静态类来完成某些工作,但问题是在单元测试时我们无法mock静态类,所以我们只能引入静态类的装饰接口来分解对静态类的依赖。从而我们使我们的调用类只需要依...
分类:
其他好文 时间:
2015-07-21 10:39:47
阅读次数:
119
概念:本文中的把某些计算复杂的过程按照功能提取成各个小方法,这样就可以使代码的可读性、维护性得到提高。
正文:如下代码所示,CalculateGrandTotal方法里面包含了多个逻辑,第一计算subTotal 的总和,第二subTotal 要循环减去discount,也就是计算Discounts,第三就是计算Tax。所以我们可以根据功能把他们拆分成三个小方法。
using Sy...
分类:
其他好文 时间:
2015-07-21 10:36:56
阅读次数:
113
概念:本文中的“提取接口” 是指超过一个的类要使用某一个类中部分方法时,我们应该解开它们之间的依赖,让调用者使用接口,这很容易实现也可以降低代码的耦合性。
正文:如下代码所示,RegistrationProcessor 类只使用到了ClassRegistration 类中的Create方法和Total 字段,所以可以考虑把他们做成接口给RegistrationProcessor调用。
n...
分类:
其他好文 时间:
2015-07-21 10:38:10
阅读次数:
99
概念:本文中的“使用委派代替继承”是指在根本没有父子关系的类中使用继承是不合理的,可以用委派的方式来代替。
如下代码所示,Child 和Sanitation (公共设施)是没有逻辑上的父子关系,因为小孩不可能是一个公共设施吧!所以我们为了完成这个功能可以考虑使用委派的方式。
namespace LosTechies.DaysOfRefactoring.ReplaceInherit...
分类:
其他好文 时间:
2015-07-21 10:38:21
阅读次数:
82
概念:本文中的改名(方法,类,参数)是指在写代码的时候对类、方法、参数、委托、事件等等元素取一个有意义的名称。
正文:如下代码所示,加入一个公司建立一个员工的类,类中有一个员工名字的字段和一个按照小时计算员工收入的方法,那么下面代码的取名就显得很难理解了,所以我们会重构名称。
namespace LosTechies.DaysOfRefactoring.Rename.Before...
分类:
其他好文 时间:
2015-07-21 10:36:23
阅读次数:
128
题意: 每台机器有x,y两种属性,有m个任务,如果机器的这两个属性大于任务,那么就是可以完成这个任务,并且每个任务每只能完成一个任务。
思路:先按照x排序,x相等,按照y排序,每一次记录下来可以完成这个任务的机器,寻找属性相差最小的那台。#include
#include
#include
using namespace std;
#d...
分类:
其他好文 时间:
2015-07-21 10:35:59
阅读次数:
126
从接触android起,到处都能看到context(上下文)的身影,查看源码之后你会发现,它只是个抽象类,具体实现都在ContextWrapper实现。
当你去查看android的源码时,你会发现activity,service和application都继承自ContextWrapper,也就是说它们都是context的子类,那我们应该如何给context的赋值呢?
很多时候在acitivit...
分类:
移动开发 时间:
2015-07-21 10:34:57
阅读次数:
116
1 Hibernate的检索方式
Ø 导航对象图检索(根据已经加载的对象,导航到其他对象。)
Ø OID检索(按照对象的OID来检索对象。)
Ø HQL检索(使用面向对象的HQL查询语言。)
Ø QBC检索(使用QBC(Qurey By Criteria)API来检索对象。
QBC/QBE离线/在线)
Ø 本地SQL检索(使用本地数据库的SQL查询语句。)
http:...
分类:
编程语言 时间:
2015-07-21 10:36:45
阅读次数:
136
PL/SQL相关的数据字典
http://www.oracle.com/technetwork/issue-archive/2012/12-nov/o62plsql-1851968.html 有时候,我们在PL/SQL开发过程中会遇到以下问题:
1)我的程序到底依赖于哪些数据库对象?
2)哪个包中调用了一个其他包中的子程序或变量?
3)我的哪个子程序的参数使用了不合适的数据类型?...
分类:
数据库 时间:
2015-07-21 10:35:25
阅读次数:
146
题目描述:
给定一个未排序的整数数组,找到其中位数。
中位数是排序后数组的中间值,如果数组的个数是偶数个,则返回排序后数组的第N/2个数。
样例
给出数组[4, 5, 1, 2, 3], 返回 3
给出数组[7, 9, 4, 5],返回 5
解题思路:
利用快排划分的思想,递归处理。
参考代码:
public class Solution {
p...
分类:
编程语言 时间:
2015-07-21 10:37:05
阅读次数:
144
一、项目结构和plist文件二、实现代码1.说明:主控制器直接继承UITableViewController // YYViewController.h// 02-QQ好友列表(基本数据的加载)//// Created by apple on 14-5-31.// Copyright (c)...
分类:
移动开发 时间:
2015-07-21 10:36:21
阅读次数:
293
一.json可以表示3种类型的值: 简单值 、 对象、 数组表示对象时:》1. 没有变量的概念 ,所以不用申明变量 》2. 没有末尾结束时的分号 ; 》3. 对象属性并需要加 双引号 》4. 同一对象中绝不能出现两个同名属性二.json 的两个方法: ...
分类:
Web程序 时间:
2015-07-21 10:35:00
阅读次数:
126
由于工作中需要做SQL的镜像异地备份,以前都没有研究过,百度了一个文章记录下,方便以后查询转载地址:http://jingyan.baidu.com/article/d5c4b52b20843fda560dc581.html数据库镜像”是一种针对数据库高可用性的基于软件的解决 方案。其维护着一个数据...
分类:
数据库 时间:
2015-07-21 10:36:13
阅读次数:
158
本人在安装ADT Bundle for windows的各种问题总结1.解决国内访问Google服务器的困难:1.启动 Android SDK Manager ;2.打开主界面,依次选择「Tools」、「Options…」,弹出『Android SDK Manager - Settings』窗口;3...
http://poj.org/problem?id=3259DescriptionWhile exploring his many farms, Farmer John has discovered a number of amazing wormholes. A wormhole is very ...
分类:
其他好文 时间:
2015-07-21 10:35:43
阅读次数:
99
本文据下址理得http://www.zhangxinxu.com/wordpress/?p=552css3:(有兼容限制)-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);transform:rotate(-90deg);i...
分类:
其他好文 时间:
2015-07-21 10:33:27
阅读次数:
132