●基本类型困扰(PrimitiveObsession)●数据类(DataClass)●数据泥团(DataClump)●临时字段(TemporaryField)...[继续阅读]
海量资源,尽在掌握
●基本类型困扰(PrimitiveObsession)●数据类(DataClass)●数据泥团(DataClump)●临时字段(TemporaryField)...[继续阅读]
症状请查看是否存在以下症状:●使用了基本类型或近基本类型(near-primitivetype)(int、float、String等等)●存在表示小整数的常量或枚举●存在表示字段名的串常量原因造成基本类型的过度使用有多种原因:●缺少类(Missingclass):由于几乎所...[继续阅读]
症状●类仅由公共数据成员组成,或者只由简单的获取方法和设置方法组成。这就使客户要完全依赖于此类的可变性和表示。原因类通常可能如下诞生:你意识到某些数据是一个独立对象的一部分,因此相应地抽取出了一个类。这种情...[继续阅读]
症状●同样的两至三项频繁地一同出现在类和参数表中。●代码声明了某些字段,并声明了处理这些字段的方法,然后又声明了更多的字段和更多的方法,如此继续(也就是说,在类中同时存在成组的字段和方法)。●各组字段名以类似的...[继续阅读]
症状●字段仅在某些时候得到设置,而在其余时间内为null(或未用)。原因对象中的某一部分存在一个算法,该算法要通过字段而非通过参数来传递信息,此时就会发生这种情况;这些字段仅在算法处于活动状态时才有效或得到使用。字段...[继续阅读]
症状●一个类继承自其父类,但是抛出了一个异常而不是支持一个方法,此为坦率的拒绝(honestrefusal)。●一个类继承自其父类,但是在对该类调用时,某个所继承的方法不能正常工作,此为隐式的拒绝(implicitrefusal)。●客户试图通过子类的...[继续阅读]
症状●一个类访问了其父类的内部(本应是私有的)部分。(这与各类之间的不当紧密性有关;请参见第10章中的“不当的紧密性(一般形式)”)。原因相对于两个陌生人来说,父类与子类之间当然要亲密一些。不过有时它们太过亲密了(即过...[继续阅读]
症状●类并没有做什么工作,似乎是由其父类、子类或是调用者完成了所有相关的工作,而在此类中却没有足够的行为,以至于对其是否继续存在会产生质疑。原因一般来说,往往是因为:在重构过程中,类的所有职责都已经移至其他位置...[继续阅读]
●依恋情结(FeatureEnvy)●不当的紧密性(一般形式)[InappropriateIntimacy(GeneralForm)]●消息链(MessageChains)●中间人(MiddleMan)...[继续阅读]