tonykang22 / study

0 stars 0 forks source link

[Refactoring] 냄새 10. 데이터 뭉치 #27

Open tonykang22 opened 2 years ago

tonykang22 commented 2 years ago

냄새 10. 데이터 뭉치 (Data Clumps)


예시

public class Office {

    private String location;

    private String officeArea;

    private String officeNumber;

    public Office(String location, String officeArea, String officeNumber) {
        this.location = location;
        this.officeArea = officeArea;
        this.officeNumber = officeNumber;
    }

    public String officePhoneNumber() {
        return officeArea + "-" + officeNumber;
    }

    public String getOfficeAreaCode() {
        return officeArea;
    }

    public void setOfficeAreaCode(String officeArea) {
        this.officeArea = officeArea;
    }

    public String getOfficeNumber() {
        return officeNumber;
    }

    public void setOfficeNumber(String officeNumber) {
        this.officeNumber = officeNumber;
    }
}




public class TelephoneNumber {

    private String areaCode;
    private String number;

    public TelephoneNumber(String areaCode, String number) {
        this.areaCode = areaCode;
        this.number = number;
    }

    public String getAreaCode() {
        return areaCode;
    }

    public void setAreaCode(String areaCode) {
        this.areaCode = areaCode;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    @Override
    public String toString() {
        return areaCode + "-" + number;
    }
}
public class Office {

    private String location;
    private TelephoneNumber telephoneNumber;

    public Office(String location, TelephoneNumber telephoneNumber) {
        this.location = location;
        this.telephoneNumber = telephoneNumber;
    }

    public String officePhoneNumber() {
        return this.telephoneNumber.toString();
    }

    public TelephoneNumber getTelephoneNumber() {
        return this.telephoneNumber;
    }

    public String getOfficeAreaCode() {
        return this.telephoneNumber.getAreaCode();
    }

    public void setOfficeAreaCode(String officeArea) {
        this.telephoneNumber.setAreaCode(officeArea);
    }

    public String getOfficeNumber() {
        return this.telephoneNumber.getNumber();
    }

    public void setOfficeNumber(String officeNumber) {
        this.telephoneNumber.setNumber(officeNumber);
    }
}