The Value Object ( Transfer Object ) patternValue Object 패턴 은 처음 에 Entity Bean 를 사용 할 때 필요 한 원격 객체 의 호출 횟수 를 최소 화 하 는 비즈니스 티어 의 J 2 EE 디자인 패턴 처럼 사용 하 기 위해 만들 어 졌 다 . EJB 2 . 0 명 세 전 에 는 클라이언트 가 원격 호출 이 일어나 는 EJB 메소드 들 을 항상 호출 했 다 . 비록 EJB 를 호출 하 는 클라이언트 와 EJB 가 작동 하 는 애플리케이션 서버 가 같 은 곳 에 있 다고 해도 이런 한 원격 메소드 호출 은 네트워크 오버헤드 에 상당 한 영향 을 주 었 다 . Value Object 패턴 은 사용 자 가 요청 한 모든 데이트 를 가지 고 있 는 평이 한 자바 클래스 를 포함 한 Entity Bean 를 가지 고서 네트워크 오버헤드 를 완화 시키 는 역할 을 했 다 . Value Object 는 엔 티티 빈 을 호출 한 애플리케이션 에게 반환 되 고 , 호출 한 애플리케이션 은 Value Object 를 가지 고 작업 을 처리 한 후 다시 엔 티티 빈 으로 Value Object 를 되돌려 준다 . 호출 한 애플리케이션 에서 하 는 작업 은 Value Object 에 데이터 를 넣 거나 , 데이터 를 가져오 는 가져오 는 일 이 다 . 엔 티티 빈 을 사용 할 때 예상 되 는 네트워크 트래픽 의 부하 를 크 게 줄일 수 있 다 . 구조 Value Object pattern class diagramValue Object pattern sequence diagram 여기 서 클라이언트 와 서버 는 리모트 상 에 위치 한다고 가정 한다 . 클라이언트 가 Business Object 에게 데이터 를 요청 하 면 Business Object 는 서버 에 Value Object 을 생성 하 고 객체 를 직력 화 하 여 클라이언트 에게 전송 하 게 된다 . 클라이언트 는 자신 의 애플리케이션 에 전송 된 Value Object 을 생성 하 여 사용 하 게 된다 . 역할 Business Object : Business Object 는 Data 클라이언트 를 대표 한다 . 이것 은 Data source 에 접근 하 여 데이트 를 얻 거나 저장 하 는 것 을 목표 로 하 는 객체 이 다 . Business Object 는 Session Bean , Entity Bean 또는 별도 의 Java Object 로 구현 된다 . Value Object ( Transfer Object ) : Data 전송 에 사용 되 는 전송 객체 를 대표 한다 . Data Access Object 패턴 에서 클라이언트 에게 전송 되 는 데이터 의 왕복 통신 비용 을 줄이 고 객체 화 된 데이터 를 전달 하 기 위해 사용 되 며 또 , 클라이언트 로부터 Data source 의 Data 을 갱신 하 기 위해 Data Access Object 에게 변경 데이터 를 전달 할 때 도 사용 된다 . 의도 리모트 에 있 는 작 은 단위 의 데이터 들 을 한꺼번에 큰 단위 의 데이터 에 포함 시켜 효율 적 으로 전송 한다 . 결론 Value Object ( Transfer Object ) 패턴 을 J 2 EE 의 중요 패턴 으로 다음 과 같 은 특징 이 있 다 . Value Object 는 데이터베이스 에 포함 된 데이터 의 논리적 은 뷰 를 표현 해 줄 수 있 다 . Value Object 패턴 은 데이터 들 의 관계 를 추상 화 하 는 방법 ( 일 대 일 , 다대다 ) 으로 사용 할 수 도 있 다 . Value Object 는 다양 한 Data Source 로부터 가져온 데이터 를 단일 인터페이스 로 표현 할 수 있 게 한다 . Value Object 를 사용 하 는 클라이언트 애플리케이션 이 관련 되 어 있 는 동안 은 데이터 가 어디 서 왔 는지 , 또는 데이터 를 어떻게 관리 해야 하 는지 몰라도 된다 . Value Object 는 프리 젠트 티어 , 비즈니스 티어 , 데이터 티어 를 왔 다 갔 다 하 면서 데이터 를 전달 한다 . Value Object 레이어 를 설계 할 때 는 다음 사항 을 주의 해야 한다 . Value Object 들 은 경량 이 어야 한다 . Value Object 는 데이터 의 표현 일 뿐 이 다 . 비즈니스 로직 이 포함 되 어서 는 안 된다 . Value Object 는 데이터베이스 에 들 어 있 는 데이터 의 View 일 뿐 이 다 . Value Object 의 객체 계층 구조 를 단순 하 게 유지 하 라 . 영속성 프레임워크 에 존재 하 는 Value Object 들 의 수 를 관찰 하 라 . 개발자 들 의 공통 적 인 실수 는 Value Object 를 너무 세분 화 하 는 것 이 다 . 많 은 Value Object 는 유지 보수성 을 떨어뜨린다 . 예 제 소스 예제 소스 는 Data Access Object Pattern 의 Customer . java 이 며 사용법 은 동일 합니다 . 공유 하 기 글 요소