Spiga

分类为编程思维的文章

一天一个重构方法(33):提炼子类

2009-09-18 20:00:47

摘要:Extract Subclass:提炼子类 当一个类中的某些方法并不是面向所有的类时,新建一个子类,将只属于某些实体的方法提炼到新建的子类中。 阅读全文

一天一个重构方法(32):提炼父类

2009-09-11 15:55:52

摘要:Extract Superclass:提炼父类 两个类做类似的事情。可以为这个两个类建立一个父类,将相同特性移至到父类。 阅读全文

一天一个重构方法(31):以常量取代特殊数值

2009-09-07 11:21:48

摘要:Replace Magic Number with Symbolic Constant:以常量取代特殊数值 在计算科学中,经常会出现一些特殊数值,比如圆周率。如果你需要在不同的地方引用一个特殊数值,不要直接用这个字面数值,请创造一个常量,根据其意义为它命名,并将这个字面数值替换为这个常量。 阅读全文

一天一个重构方法(30):搬移方法

2009-09-03 16:09:16

摘要:Move Method:搬移方法 你的程序中,有个方法与所驻class之外的另一个class进行更多交流:调用后者,或被后者调用。那么请将方法迁移到合适的class中。 阅读全文

一天一个重构方法(29):移除工具类

2009-08-30 14:23:03

摘要:Remove God Classes:移除工具类 在传统的代码库中,我们常常会看到一些违反了SRP原则的类。这些类通常以Utils或Manager结尾,有时也没有这么明显的特征而仅仅是普通的包含多个功能的类。这种God 类还有一个特征,使用语句或注释将代码分隔为多个不同角色的分组,而这些角色正是这一个类所扮演的。久而久之,这些类成为了那些没有时间放置到恰当类中的方法的垃圾桶。这时的重构需要将方法分解成多个负责单一职责的类。 阅读全文

一天一个重构方法(28):下移方法

2009-08-23 19:02:42

摘要:Push Down Method:下移方法 与下移字段一样,如果父类中某个方法只与部分子类有关,将这个方法移到相关的那些子类去。 阅读全文

一天一个重构方法(27):下移字段

2009-08-19 16:32:34

摘要:Push Down Field:下移字段 与上移字段相反的重构是下移字段,如果父类中某个字段只被部分子类用到,将这个字段移到需要它的那些子类去。 阅读全文

一天一个重构方法(26):方法上移

2009-08-16 18:16:45

摘要:Pull Up Mothod:方法上移 今天介绍的重构方法和上一篇字段上移十分类似。我们今天处理的不是字段,而是方法。 有些方法,在各个子类中产生完全相同的结果,将该方法移至到父类。 阅读全文

一天一个重构方法(25):字段上移

2009-08-15 17:44:12

摘要:Pull Up Field:字段上移 两个子类拥有相同的字段,将此一字段上移到父类。 阅读全文

一天一个重构方法(24):提炼类

2009-08-13 23:58:24

摘要:Extract class:提炼类 你也许听过类似这样的教诲:一个class应该是一个清楚的抽象,处理一些明确的责任。但是在实际工作中,class会不断成长扩展。于是随着责任不断增加,这个class会变得很复杂。很快这个class就会变成一团乱麻。建立一个新的class,将相关的字段和方法从旧class搬移到新class。 阅读全文