엄지월드

Dao와 Service의 차이 본문

java/JSP

Dao와 Service의 차이

킨글 2017. 6. 1. 10:10
반응형

- 단지 DB액세스에 필요한 CRUD는 -> DAO 이다

- 사용자의 요구에 맞게 DAO의 CRUD를 응용 조합해서 사용하는 기능은 -> SERVICE 이다.

 

DAO와 Service는 그 역할이 분명히 다르다.

DAO - 단일 데이터의 접근과 갱신만 처리한다(CRUD)

Service - 여러 DAO를 호출하여 사용자의 요구에 맞게 가공한다.

즉, Service는 트랜잭션 단위이다.

 

만약, DAO와 Service가 완전히 동일해지는 경우도 분명히 발생하지만 그것은 설계를 잘못한 것이다

예로 들면 DAO의 메소드드 하나에 다중 DB접근 로직이 들어갔고, 서비스는 단순히 그 DAO메소드를 호출하는 통로 역할만 한다면 DAO에서 모듈화가 제대로 안된 접근 방식일 가능성이 높다(물론 항상 그런 것 만은 아니다)

 

 

( URL호출 -> Controller -> Service -> ServiceImpl -> Dao -> DaoImpl -> Service -> View )

 

 

도움이 되셨다면 광고 한번씩 클릭 부탁드립니다 😁

 

Comments