IT/spring

MVC 패턴 - View, Controller, DAO, DTO, Service 의미

_찐찐_ 2021. 1. 12. 10:44

저번학기 수업시간에 배웠던 내용 기록하려고 한다. 

오랜만에 봐서 기억도 안나고....

 

간단하게 용어 정리만~!

 

 

MVC 패턴


 

 

 


View


사용자가 보는 화면에 입출력 과정 및 결과를 보여주기 위한 역할. 

 

 

 

 

 

Controller


model 과 view를 연결 시켜주는 역할.

도메인 객체들의 조합을 통해 프로그램의 작동 순서나 방식을 제어.

 

사용자의 요청을 전달받아 요청의 처리를 담당하는 Service를 호출.

 

 

 

 

Service


Controller에 의해 호출되어 실제 비즈니스 로직과 트랜잭션을 처리.

DAO를 호출하여 DB CRUD를 처리후 Controller로 반환.

 

 

 

 

 

DAO


Service에 의해 호출되어 DB CRUD를 담당.

 

 

 

 

 

DTO


특정 테이블의 정보를 레코드 단위로 정의해놓은 클래스.

 

 

 

 

Service vs DAO 


단순하게 페이지를 불러오고 DB정보를 한번에 불러오는 간단한 프로젝트의 경우 Service와 dao의 차이가 거의 없을 수 있다.
 
Service는 사용자가 요청한 작업을 처리하는 과정을 하나의 작업으로 묶은 것이고,
 
dao는 CRUD작업을 하나씩 분할해 놓은 것이다.
 
사용자가 한 번의 요청으로 단순히 페이지 이동이 필요하다면 select와 같은 단순히 하나의 dao만 작동하기 때문에 Service와 dao가 나눌 필요가 없는 것처럼 보이지만,
 
사용자가 글을 작성하거나 수정하는 것과 동시에 페이지가 이동한다면 update, select가 작동하기 때문에 여러 dao를 Service안에 조립하는 로직을 갖게된다.

[참고 블로그]ysyapr91.tistory.com/4