본문 바로가기

Programming/Design Pattern

DAO Pattern

1. 정의

 1) 업무와 DBMS를 분리하기 위해 사용됨

 2) 업무와 데이터 2계층을 분리하고, 서로 그 상태를 동일하게 유지(persistence)

 

2. 문제

 1) DB를 사용하는 방법이 변경되면 클라이언트의 수정이 많아진다

 예) SQL문이 다른 DB로 변경하게 되면 클라이언트의 SQL코드를 수정해야한다.

 

3. 해결방안

 1) 클라이언트는 DAO Pattern을 이용해 DB Interface를 사용하고 실제 수행되는 코드를 분리시킨다(loose coupling)

 

4. 사용 예제

 1) 주소록 관리 어플리케이션 : DB가 바뀌어도 클라이언트 코드는 그대로(List -> sqlite)

  1-1) 주소록 without DAO

  1-2) 주소록 with DAO

DAO Pattern의 Class Diagram

* DAO : 모델에 대한 기본적인 CRUD 인터페이스를 제공

* DAOImp : DAO 인터페이스를 구현한 클래스

'Programming > Design Pattern' 카테고리의 다른 글

State Pattern  (0) 2019.12.31
Facade Pattern  (0) 2019.12.31
Adapter Pattern 과제  (0) 2019.12.31
Adapter Pattern  (0) 2019.12.31
Command Pattern 과제  (0) 2019.12.31