编辑: 我为此重构提交了Eclipse 增强请求。
有没有办法将私有字段从一个类移动到它的助手类?下面的小鸡 UML 显示了我现在正在手动执行的操作。类在重构之前具有对对象的 C1
私有field
和私有最终引用。Helper
重构之后,to 中的所有引用C1'
都field
被更改为helper.getField()
and helper.setfield()
。
class Field {}
class C1 {
final private Field field;
final private Helper helper;
public Field getField() {
return field;
}
public C1() {
helper = new Helper();
field = new Field();
}
}
class Helper {}
class C1Prime {
final private HelperPrime helper;
public Field getField() {
return helper.getField();
}
public C1Prime() {
helper = new HelperPrime();
}
}
class HelperPrime {
final private Field field;
public HelperPrime() {
field = new Field();
}
public Field getField() {
return field;
}
}
我已经大量使用了 Eclipse 的重构功能,但我想不出一种自动化的方法。
例如,理想情况下,我会将私有字段/属性/成员从一个类拖到另一个类,并希望 Eclipse 询问我想如何处理未解析的引用。它没有提供任何建议并破坏了所有参考。
我一直在重复的操作是将不属于当前课程的知识和行为分开。我正在将引用某些字段的属性和行为从原始类移到一个新的“帮助器”类中。
我重构的第一步是移动字段。对助手类的引用作为我要重构的类中的一个字段存在。为了 C1
在重构过程中不中断,我认为如果 Eclipse 提供生成 getter 和 setterHelper'
并更新引用C1
以在新类中使用 getter/setter 会很好。