某个类没有做太多事情。将这个类的所有特性搬移到另一个类中,然后移除原类

动机:Inline Class (将类内联化)正好于Extract Class (提炼类)相反。如果一个类不再承担足够责任、不再有单独存在的理由(这通常是因为此前的重构动作移走了这个类的责任),就挑选这个“萎缩类”的最频繁的用户(也是个类),以Inline Class (将类内联化)手法将“萎缩类”塞进另一个类中。

做法:1、在目标类身上声明源类的public协议,并将其中所有函数委托至源类。如果“以一个独立接口表示源类函数”更合适的话,就应该在内联之前先使用 Extract Interface (提炼接口)

       2、修改所有源类引用点,改而引用目标类。将源类声明为private,以斩断包之外的所有引用可能。同时修改源类的名称,这便可使编译器帮助你捕捉到所有对源类的隐藏引用点。

       3、编译、测试。

       4、运用 Move Method (搬移函数)和Move Field (搬移字段),将源类的特性全部搬移到目标类。

       5、删除源类。

 

相关文章:

  • 2021-08-30
  • 2021-11-12
  • 2021-10-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-26
猜你喜欢
  • 2022-01-30
  • 2021-10-19
  • 2022-12-23
  • 2021-09-13
  • 2021-07-14
  • 2021-09-13
  • 2021-06-19
相关资源
相似解决方案