본문 바로가기
[프로그래밍]/BackEnd

egovframe 정복하기 Step06- MVC패턴의 이해

by control+c 2014. 11. 27.
반응형

egovframe 정복하기 Step06- MVC패턴의 이해


목차 

1. JDK세팅

2. egovframe설치

3. Eclipse화면 분석

4. Project 예제 생성 및 Maven 세팅

5. 서버 연결 및 샘플페이지 실행

6. MVC패턴의 이해



1. 전자 정부 프레임워크 이하 egovframe는 MVC 패턴으로 이루어집니다. 


MVC패턴이라는 것은 Model, View, Controller의 첫글자를 따서 만들어졌습니다. 


Model :  데이터의 값과 상태에 관한 관리와 각 기능을 처리 하는 비지니스 로직


View : 사용자가 보는 결과 화면


Controller : Client의 요청을 받아 View와 Model 사이의 상동동작을 관리하는 역할을 한다. 


MVC패턴을 이용하는 이유는 크게 몇가지로 이야기 할 수 있습니다. 


 먼저 개발시간의 단축입니다. 작은 프로젝트이거나 일회성 프로젝트일경우에는 이야기가다르지만 프로젝트의 크기가 커질수록 MVC패턴이 필요해집니다. 단순하고 효과적인 흐름으로 다수의 인원이 빠르게 개발할 수 있습니다. 


  두번째는 단순한 구조로 교육이 쉽다는 것입니다. 큰흐름을 한번익히면 크게 벗어나는 경우가 적어 재교육이 필요 없습니다. 


  역할 분담이 가능하다. java개발자가 controller와 model을 코딩하고 디자이너는 View만 따로 작성 할 수 있으므로 업무효율이 높습니다. 


  정해진패턴이 있으므로 여러사람이 유지보수 및 관리하기 쉽습니다. 


더 많은 장점이 있지만 굳이 모두를 알필요는 없겠지요. 그리고 물론 단점도 있겠지요..








Spring에 MVC패턴을 설명하는 다이어그램이 여러개 있지만 전자정부 가이드에 나와있는 이미지로 설명하겠습니다. 


우리는 egovframe을 공부하고 있으니까요. 


Client의 요청과 데이터는 위의 그림과 같은 과정으로 처리됩니다. 


egovframe의 viewResolver나 인터셉터는 아직 생각하지 않으셔도 됩니다. 


붉은색 박스에 관한 경로만 보시면 됩니다. 


egovframe의 전체적인  개발패턴이라고 보시면 됩니다. 


조금 쉬운 그림을 보여드리자면. 



처음 클라이언트의 요청이 오면 컨트롤러에서 받습니다. 


컨터롤러는 VO(DTO)를 통해 데이터와 요청을 Service(Model)에 전하고 DB에 접근이 필요한 경우 DAO에 접근하여 sql(DB)에 접근합니다. 


DB에서 나온 데이터는 반대로 DAO->Service->Controller -> Jsp(View)로 이동하며 최종 Jsp(View)에서 화면에 뿌려줍니다. 


MVC패턴에서의 이동은 이런 단순한 구조로 이루어집니다. 


Controller에서 DAO로 바로 갈수 없는게 아닙니다. 


패턴에 의해 Service에서 비지니스 로직을 수행하고 DAO에 가는 것 뿐입니다. 


#잠깐01#

DAO(Data access object)는 데이터베이스에 접근하여 직접 데이터를 꺼내 지만 

DTO(Data Transfer Object)는 데이터를 꺼내거나 담을 뿐 다른 기능은 하지 않습니다. 

#잠깐01#

VO와 DTO

VO와 DTO는 같은 말인것 같지만 약간의 차이가 있다. 

VO(Value Object)는 값을 가지고 있는 객체 이고 

DTO는 VO가 로직과 로직 사이에서 혹은 객체와 객체 사이를 이동하며 데이터를 전달하는 객체 이다.


다음편에서 Sample게시판의 MVC패턴과 로직을 분석하면서 이어나가도록 하겠습니다. 


By.조조나리


반응형

댓글