데이터 접근 객체

컴퓨터 소프트웨어에서 데이터 접근 객체(data access object, DAO)는 일부 종류의 데이터베이스나 기타 퍼시스턴스 매커니즘에 추상 인터페이스를 제공하는 객체이다. 응용 프로그램의 호출들을 퍼시스턴스 계층에 매핑시킴으로써 DAO는 데이터베이스의 상세한 사항을 노출시키지 않고 특정 데이터의 일부 동작을 제공하게 된다. 이러한 분리는 단일 책임 원칙을 지원한다. 도메인 특화 객체 및 자료형(DAO의 퍼블릭 인터페이스) 관점에서 응용 프로그램이 필요로 하는 데이터 접근이 무엇인지를, 어떻게 이러한 요구사항을 특정 DBMS, 데이터 스키마 등을 만족할 수 있는지(DAO의 구현체)와 분리시킨다.

디자인 패턴이 대부분의 프로그래밍 언어, 퍼시스턴스가 필요한 대부분의 소프트웨어, 대부분의 종류의 데이터베이스에 동등하게 적용되지만 전통적으로는 자바 EE 애플리케이션 및 관계형 데이터베이스와 연계된다. (해당 플랫폼에 대해 썬 마이크로시스템즈의 최고의 실천 지침 "코어 J2EE 패턴"에 따라 JDBC API를 통해 접근)

같이 보기 
 CRUD(Create, read, update and delete)
 서비스 데이터 객체

각주

외부 링크 
 Java Persistence - The DAO Design Pattern
 PHP best practices (Use Data Access Objects (DAO))

소프트웨어 디자인 패턴
아키텍처 패턴