这大概是处理一个方法在多处使用时最常见的重构。如果不加以注意的话,你会慢慢地养成重复的习惯。开发者常常由于懒惰或者在想要尽快生成尽可能多的代码时,向代码中添加很多重复的内容。我想也没必要过多解释了吧,直接看代码把。
public class MedicalRecord {
public Date DateArchived;//getter setter
public Boolean Archived;//getter setter
public void ArchiveRecord() {
Archived = true;
DateArchived = new Date();
}
public void CloseRecord() {
Archived = true;
DateArchived = new Date();
}
}
我们用共享方法的方式来删除重复的代码。看!没有重复了吧?请务必在必要的时候执行这项重构。它能有效地减少bug,因为你不会将有bug的代码复制/粘贴到各个角落。
public class MedicalRecord {
public Date DateArchived;
public Boolean Archived;
public void ArchiveRecord() {
SwitchToArchived();
}
public void CloseRecord() {
SwitchToArchived();
}
private void SwitchToArchived(){
Archived = true;
DateArchived = new Date();
}
}
 
 
 





posted on 2016-08-19 09:32  jgig11  阅读(175)  评论(0编辑  收藏  举报