본문으로 바로가기

DTO와 DAO

category Helloworld!/PHP 2014. 5. 29. 20:38

1. DTO(Data Transfer Object)


- 데이터가 포함된 객체를 한 시스템에서 다른 시스템으로 전달하는 작업을 처리하는 객체

  

2. DAO(Data Access Object)

- 데이터 접근을 목적하는 객체입니다. 

- 커넥션 같은 것을 하나만 두고 여러 사용자가 DAO의 인터페이스를 사용하여 필요한 자료에 접근 하도록 하는 것이 DAO의 개념

- 필요성

 : 모든 데이터베이스에 공통적으로 접속 할 수 있는 ODBC가 나왔지만 완벽하진 못함. 이런 이유 때문에 개발자들은 정작 데이터베이스에 들어 있는 데이터를 어떻게 이용할지에 초점을 맞추기 보다, 어떻게 데이터베이스에 접속해서 데이터베이스와 교류하는지에 더 초점을 기울임. 즉 데이터를 활용하는 논리적 고민보다 기술적 고민에 더 많은 신경을 썻고 이런 이유로 DAO란 대안이 나왔습니다.

- 기대효과

 : 사용자는 자신이 필요한 Interface를 DAO에게 던지고 DAO는 이 인터페이스를 구현한 객체를 사용자에게 편리하게 사용 할수 있도록 반환해줌

- 장 단점

 : DB에 대한 접근을 DAO가 담당하도록 하여 데이터베이스 엑세스를 DAO에서만 하게 되면 단순히 읽기만 하는 연산이므로 트랜잭션 간의 오버헤드를 감소할 수 있습니다.


DAO란 결국 DB에서 뭔가를 꺼내오기 위한 클래스이고

DTO는 그 뭔가의 모양을 말함


참고사이트 : 

http://blog.naver.com/rasede?Redirect=Log&logNo=150186529643

http://blog.naver.com/kjjiskjj1/10173891163