더북(TheBook)

4.2.4 예제: 오퍼링 목록

피플그로우! 웹 시스템에는 현재 오퍼링 목록, 등록된 인원 수, 남은 자리 수를 보여주는 페이지가 있다. Offering 엔터티에는 이 모든 정보가 들어 있다. 그러나 이 엔터티 전체를 프런트엔드 클라이언트에게 반환하면, 클라이언트가 필요하지 않은 과도한 정보를 전달하게 된다. 예를 들어 이 페이지에서는 등록한 직원의 이름이 필요하지 않다. 어떤 아키텍처에서는 직원 목록을 반환하는 것이 성능 부담을 초래할 수도 있다. 데이터베이스에 더 많은 쿼리를 해야 하기 때문이다.

코드 4-3 Offering 클래스

class Offering {
  private int id;
  private Training training;
  private LocalDate date;
  private Set<Employee> employees;
  private int maximumNumberOfAttendants;
  private int numberOfAvailableSpots;
  // 관련된 생성자, 게터, 세터
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.