본문 바로가기
그룹스터디

DAO, DTO, VO, Entity

by 민초닷컴 2022. 12. 7.

Entity(Domain)

  1. 데이터베이스에 쓰일 컬럼과 여러 엔티티 간의 연관관계를 정의
  2. 데이터베이스의 테이블을 하나의 엔티티로 생각해도 무방함
  3. 실제 데이터베이스의 테이블과 1:1로 매핑(하나의 값을 다른 값으로 대응)
  4. 이 클래스의 필드는 각 테이블 내부의 컬럼(열)을 의미

DAO

  1. 데이터베이스에 접근하는 객체
  2. Service가 DB에 연결할 수 있게 해주는 역할
  3. DB를 사용하여 데이터를 조회하거나 조작하는 기능을 전담

DTO vs VO

DTO

  • 데이터 전달용
  • 데이터를 담아서 전달하는 바구니
  • getter/setter 외에 다른 로직 x

VO

  • 값 표현용
  • 값 그 자체를 표현하는 객체
  • getter/setter 외의 로직을 가질 수 있다.
  • ex) 돈 → 만원권 마다 고유번호가 달라도 모두 만원이다.

MVC 패턴 사용법

  1. Model은 Controller와 View에 의존하지 않아야 한다. (Model 내부에 Controller와 View에 관련된 코드가 있으면 안된다.)
  2. View는 Model에만 의존해야 하고, Controller에는 의존하면 안된다. (View 내부에 Model의 모드만 있을 수 있고, Controller의 코드가 있으면 안된다.)
  3. View가 Model로부터 데이터를 받을 때는, 사용자마다 다르게 보여주어야 하는 데이터에 대해서만 받아야 한다. (View는 공통부분, Model은 개개인)
  4. Controller는 Model과 View에 의존해도 된다. (Controller 내부에는 Model과 View의 코드가 있을 수 있다.)
  5. View가 Model로부터 데이터를 받을 때는, 반드시 Controller에서 받아야 한다.

'그룹스터디' 카테고리의 다른 글

JPA Auditing  (0) 2022.12.30
일급 컬렉션(First Class Collection)  (0) 2022.12.23
XML Configuration vs Java Configuration  (0) 2022.12.14
인터페이스, 추상클래스, 다형성  (0) 2022.11.25
디자인 패턴 - Singletone  (0) 2022.11.18