초코딩(chocoding)

[JDBC] - DAO, DTO, AO 본문

Database

[JDBC] - DAO, DTO, AO

sweetychocoding 2023. 10. 6. 00:42
728x90

DAO (Database Access Object)

=> 데이터베이스에 접근하는 객체

=> 개발자가 select(), insert(), update(), delete()와 같은 연산(CRUD)들에 대한 인터페이스를 미리 정의해놓음으로써,

     데이터에 대한 처리를 간단하게 할 수 있도록 도와줌 (SQL 구문 처)

=> DAO를 구현하지 않을 경우, 서비스(service)로직 부분과 DB에 접근하는 부분이 한개의 파일(servlet)에 작성하게 됨.

     : 이것은 객체지향 1원칙인 단일책임의 원칙을 위배하게 되므로 루틴을 분리하여 작성해야 함.

     : 하나의 클래스는 하나의 기능만을 제공하라는 의미

 

DTO (Data Transfer Object)

=> DB에 존재하는 테이블의 데이터를 저장하는 객체

=> DB에 접근하여 테이블을 조작한 후, 쿼리의 결과를 DTO 객체에 담아서 Servlet에 전달

 

VO (Value Object)

=> 데이터 값을 담고 있는 객체로 DTO와 비슷하지만 VO는 "ReadOnly" 속성의 객체임

=> VO는 객체의 식별성이 아닌 속성의 값을 중요하게 여기며, 속성 값이 동일하다면 동일한 객체로 인지함

=> VO는 불변으로 한번 생성되면 이후 내부 값을 바꿀 수 없음 (setter 허용 안됨)

 

https://mundol-colynn.tistory.com/46

 

728x90

'Database' 카테고리의 다른 글

Servlet이란?  (0) 2023.10.11