반응형

MVC 모델이란 M(model) V(View) C(Controller)의 구조를 갖는 개발방식으로

각 단의 앞글자를 따서 MVC모델로 불리고 있습니다.

 

가장 많이 사용하는 것이 MVC 모델2 방식인데요

이는 뷰와 컨트롤러 모델을 각각 분리함으로써 개발 및 유지보수 편리성을

갖게 만드는 장점이 있습니다.

 

MVC의 각각의 역할

 

1. MODEL : 사용자가 요청한 결과물의 데이터를 객체화하여 Controller에 전달

2. View : Controller가 최종 데이터를 전달하면 이를 사용자 화면에 출력함

3. Controller : 사용자 요청에 대한 흐름을 제어하는 역할을 함

 

MVC 모델2 의 구조

위의 이미지는 MVC 모델 2의 기본 구조입니다.

 

데이터 흐름

1. 사용자가 특정 기능을 요청 시 이는 Controller에 전달되게 됩니다.

2. Controller는 모델을 거쳐 DB에서 데이터를 조회합니다.

3. 최종 데이터가 만들어지면 Controller는 이를 View로 전달하고 최종적으로 브라우저에 출력됩니다.

 

Servlet

웹개발 기술로 스레드 기반으로 하며 Client의 요청을 받아서 처리합니다.

위의 MVC 모델 2에서 브라우저에서 Controller에 요청할 때 발생합니다.

메소드 설명
init Servlet 로딩 및 초기화
service Client에서 요청하면 이를 httpmethod에 따라 doGet, doPost로 처리되며 됨
destroy 컨테이너가 종료될 시점에 실행되며 이 시점에 수행될 작업을 지정할 수 있음

 

MVC 모델2 패턴 장점

1. 서버 개발과 클라이언트 작업을 분리하여 작업하여 효율성 증대

2. 수행하는 작업이 분리되어 있어 작업속도 증가 및 소스의 간결화

3. 분리되어 있는 소스로 인해 유지보수가 편리

 

MVC 모델2, 모델 1의 차이점

모델 2는 Controller와 모델, View가 분리되어 소스가 분류되어 있어

가독성이 뛰어나며 유지보수가 편리한 장점이 있습니다.

 

그러나 모델 1은 하나의 JSP에 위의 명시한 부분을 모두 작성하는데요.

이럴 경우 소스의 길이도 많이 길어져서 가독성이 떨어지게 됩니다.

 

또한, Server개발과 Client 개발이 혼합되어 있어 2명이 개발자가 하나의 페이지를

동시에 수정하여 충돌이 일어날 가능성이 있어 신규 개발이나 유지보수에 있어 

단점으로 작용할 수 있습니다.

반응형

+ Recent posts