본문 바로가기

기존카테고리/JSP

MVC 패턴

[MVC 패턴]


M : model, V:view, C:controller 를 뜻하는 용어로 개발 패턴의 일종


model : 데이터베이스와의 관계를 담당. 클라이언트의 요청에의해서 필요한 자료를 데이터베이스로부터

추출하거나, 수정해서 Controller로 전달하는 역할


view : 사용자한테 보여지는 UI화면이다. 주로 .jsp파일로 작성하며, Controller에서 어떤 View

  컴포넌트를 보여줄지 결정한다.

 

controller : 클라이언트의 요청을 받고, 적절한 Model에 지시를 내리며, Model에서 전달된 데이터를

적절한 View에 전달하는 역할

   +---------+           +----------+ 

   | 클라이언트|   ------->|Controller|  -----> Model ----> DB

   +---------+           +----------+  <-----       <----                       

                               |

                               |

                 <----------  View

 - Model 1 : view와 컨트롤러가 같이 있는 형태

                      

  클라이언트   <-------> |        JSP         | <------->  DAO  <---------> DataBase

                        view + controller             Model 

 

    * Model1은 개발기간이 짧은 소규모 프로젝트나, 변경사항이나 요구사항이 적을 경우 빠르게 

      개발 할 수 있다는 장점이 있다. 하지만, 재활용성이 떨어지는 단점이 있다.

 

 - Model 2 : MVC에서 model, view 그리고 Controller가 모두 모듈화 되어 있는 형태

    * Model 2는 개발초기에는 부하가 비교적 높고, 아키텍처에 대한 수준 높은 이해를 요구한다.

       재사용성이 높고, 확장성이 용이하다.