데이터 뭉치(Data Clumps)

박상훈·2022년 8월 18일
0
항상 뭉쳐 다니는 데이터는 한 곳으로 모아두는 것이 좋음
여러 클래스에 존재하는 비슷한 필드 목록
여러 함수에 전달하는 매개변수 목록

Employee, Office 두 레코드에서 매우 유사한 형태의 데이터 뭉치가 있는 케이스
데이터 뭉치를 하나의 클래스로 모아두고 해당 클래스를 참조하는 구조로 변경

before

class Employee {
  private String name;
  private String personalAreaCode;
  private String personalNumber;

  public String personalPhoneNumber() {
    return personalAreaCode + "-" + personalNumber;
  }

  // ...생성자, getter, setter
}

class Office {
  private String officeAreCode;
  private String officeNumber;

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

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

  // ...생성자, getter, setter
}

after

class TelephoneNumber {
  private String areaCode;
  private String number;

  // ...getter, setter, toString
}
profile
엔지니어

0개의 댓글