摘要: 理解:本文中的”合并继承”是指如果子类的属性和方法也适合于基类,那么就可以移除子类,从而减少依赖关系。 详解:上一篇我们讲到“提取子类”重构是指当基类中的一个责任不被所有的子类所需要时,将这些责任提取到合适的子类中。而我们今天所要讲的的“合并继承”重构一般用在当我们觉得不需要子类的时候。 如上代码所 阅读全文
posted @ 2016-04-09 23:39 IT少年 阅读(461) 评论(0) 推荐(0) 编辑
摘要: 理解:提取子类就是把基类中,不是所有子类或者只有少数子类用到的方法,提取出来,调整到子类中去。 详解:下面的代码中我们用到一个单一的类Registration,来处理学生选课信息。 从上面的代码我们可以看到有两种不同的上下文关系,我们意识到我们会在两种不同的上下文中使用Registration类,N 阅读全文
posted @ 2016-04-09 23:35 IT少年 阅读(532) 评论(0) 推荐(0) 编辑
摘要: 理解:本文中的“提取工厂类”是指如果要创建的对象很多,则代码会变的很复杂。一种很好的方法就是提取工厂类。 详解:一般来说我们需要在代码中设置一些对象,以便获得它们的状态,从而使用对象,所谓的设置通常来说就是创建对象的实例并调用对象的方法。有时如果要创建的对象很多,则代码会变的很复杂。这便是工厂模式发 阅读全文
posted @ 2016-04-09 23:25 IT少年 阅读(502) 评论(0) 推荐(0) 编辑
摘要: 理解:本文中的“使用条件判断代替异常”是指把没有必要使用异常做判断的条件尽量改为条件判断。 详解: 重构前代码: 重构后的代码如下所示,try catch 做条件判断的语句改成了if return 的方式,这样在很多程度上统一了代码的书写,同时也提高了性能。 这个重构在项目代码中也经常用到,因为对于 阅读全文
posted @ 2016-04-09 23:16 IT少年 阅读(527) 评论(0) 推荐(0) 编辑
摘要: 今天的重构来自 Martin Fowler的http://refactoring.com/catalog/extractSuperclass.html。 理解:本文中的“提取父类”是指类中有一些字段或方法,你想把它们提取到父类中以便同一继承层次的其它类也可以访问他们,这个和之前的很多重构有异曲同工之 阅读全文
posted @ 2016-04-09 23:11 IT少年 阅读(648) 评论(0) 推荐(0) 编辑
摘要: 今天受邀参加了2016年ThoughtWorks公司成都分公司的2016年第一期DNA活动。 什么是DNA? DNA 即 Design And Analysis。设计与分析。这个活动主要是针对产品经理的,我一个码农也去参加了,多多少少还是有一些收获。 ThoughtWorks这家公司给我的印象是很不 阅读全文
posted @ 2016-04-09 22:45 IT少年 阅读(351) 评论(0) 推荐(0) 编辑