refactoring : divergent change - extract class

This commit is contained in:
haerong22
2022-03-17 12:30:06 +09:00
parent 81e90a39f8
commit bd2100f400
3 changed files with 98 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
package com.example.refactoring._07_divergent_change._26_extract_class;
public class Person {
private final TelephoneNumber telephoneNumber;
private String name;
public Person(TelephoneNumber telephoneNumber, String name) {
this.telephoneNumber = telephoneNumber;
this.name = name;
}
public String telephoneNumber() {
return this.telephoneNumber.toString();
}
public String name() {
return name;
}
public void setName(String name) {
this.name = name;
}
public TelephoneNumber getTelephoneNumber() {
return telephoneNumber;
}
}

View File

@@ -0,0 +1,32 @@
package com.example.refactoring._07_divergent_change._26_extract_class;
public class TelephoneNumber {
private String areaCode;
private String number;
public TelephoneNumber(String areaCode, String officeNumber) {
this.areaCode = areaCode;
this.number = officeNumber;
}
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 this.areaCode + " " + this.number;
}
}

View File

@@ -0,0 +1,38 @@
package com.example.refactoring._07_divergent_change._26_extract_class._before;
public class Person {
private String name;
private String officeAreaCode;
private String officeNumber;
public String telephoneNumber() {
return this.officeAreaCode + " " + this.officeNumber;
}
public String name() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String officeAreaCode() {
return officeAreaCode;
}
public void setOfficeAreaCode(String officeAreaCode) {
this.officeAreaCode = officeAreaCode;
}
public String officeNumber() {
return officeNumber;
}
public void setOfficeNumber(String officeNumber) {
this.officeNumber = officeNumber;
}
}