데이터 구조의 pattern
[용도]
1. 데이터 표현
2. 레이어간에 주고 받는 구조의 객체
- 해당 클래스를 객체화해서 view, controller, model 영역(layer)간에 주고 받을 때 사용하는 것
[명명규칙]
- 아래 두가지를 구분하여 사용하곤 있지만 사실 실제 탄생은 같은 곳에서 파생됐다.
1. Value Object = VO
2. Data Transefer Object = DTO
3. JavaBean이라고도 한다.
- 자바 언어를 만든 사람이 제시한 용어(시조가 엄청 오래 됐음)
4. Entity
- DB와 완전 밀접한 클래스
- 데이터 보안 측면에서 가급적으론 View 단에 전송 금지
- Entity란?
!
- 해당 개념은 DTO, VO와는 다른 실제 DB에서 가져온 데이터를 의미한다.
5. 클래스 명명 규칙
- 예: 고객 관리 가정시
Customer.java
or CustomerVO.java
or CustomerDTO.java
or CustomerBean.java
- 오래전부터 해당 명명규칙이 있었기 때문에 현업에서 해당 레이어간 주고 받는 객체를 위와 같은 명명규칙으로 클래스 이름을 설계한다.
[구조]
- 멤버변수/기본생성자/일반생성자/getXXXX/setXXXX
- 예시 : Costomer.java / Donator.java 와 같은 구조를 의미한다.
[화면]
- 화면단인 브라우저 출력 코드 상에선 getXxxx() 즉 대소문자 중요한 메서드를 자동으로 호출한다.
[Entity]
- DB연동 기술에 필수인 sql 문장을 자동으로 생성해주는 ORM 기술
- 해당 ORM 기술을 사용할 때 sql 자동 생성
- 고객 한명 정보 = entity
- 모든 고객의 정보 = table
!
- 해당 개념은 DTO, VO와는 다른 실제 DB에서 가져온 데이터를 의미한다.