重构-ExtractClass

来源:互联网 发布:网络售彩最新消息官方 编辑:程序博客网 时间:2024/06/01 08:46

提炼类

某个类做了2个类的事 建立一个新类,将相关字段和函数从旧类搬移新类

  1. 建立新类
  2. 建立新旧类连接
  3. move Field
  4. 决定是否是否对用户公开此TelephoneNumber类
public class Person {    private String name;    private String officeAreaCode;    private String officeNumber;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getOfficeAreaCode() {        return officeAreaCode;    }    public void setOfficeAreaCode(String officeAreaCode) {        this.officeAreaCode = officeAreaCode;    }    public String getOfficeNumber() {        return officeNumber;    }    public void setOfficeNumber(String officeNumber) {        this.officeNumber = officeNumber;    }}

重构代码如下:

public class Person {    private String name;    // 建立连接    private TelephoneNumber officeTelephone = new TelephoneNumber();    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    // move field    public String getOfficeNumber() {        return officeTelephone.getOfficeNumber();    }    public void setOfficeNumber(String officeNumber) {        officeTelephone.setOfficeNumber(officeNumber);    }    public String getOfficeAreaCode() {        return officeTelephone.getOfficeAreaCode();    }    public void setOfficeAreaCode(String officeAreaCode) {        officeTelephone.setOfficeAreaCode(officeAreaCode);    }}
public class TelephoneNumber {    private String officeAreaCode;    private String officeNumber;    public String getOfficeAreaCode() {        return officeAreaCode;    }    public void setOfficeAreaCode(String officeAreaCode) {        this.officeAreaCode = officeAreaCode;    }    public String getOfficeNumber() {        return officeNumber;    }    public void setOfficeNumber(String officeNumber) {        this.officeNumber = officeNumber;    }}
1 0
原创粉丝点击