본문으로 바로가기

MVC 패턴 (이론)

category Helloworld! 2014. 5. 29. 20:28


 

1. 모델 1

- 모델1(Model 1)구조에서는, 

- 웹 브라우저의 요청(request)을 받아들이고 , 

- 웹 브라우저에 응답(response) 해주는 처리에 대해 

- page 단독으로 처리하는 구조이다.


2. 모델2

- 모델2(Model 2)구조에서는 

- 요청(request)처리, 데이터접근(data access), 비즈니스 로직(business logic)을 포함하고 있는 컨트롤 컴포넌트(control component)와 

- 뷰 컴포넌트(view component)는 엄격히 구분되어져 있다.

- 컴포넌트 : 모듈을 조립하는 기술. 프로그램 신속 구축. 재사용에 용이


3. MVC패턴(Model-View-Controller pattern)

- MVC(Model-View-Controller) 구조는  전통적인 GUI(Graphic User interface) 기반의 어플리케이션을 구현하기 위한 디자인 패턴

- MVC 구조는 사용자의 입력을 받아서, 그 입력 혹은 이벤트에 대한 처리를 하고, 그 결과를 다시 사용자에게 표시하기 위한 최적화된 설계를 제시한다.


1) 뷰(View)

- 화면에 내용을 표출하는 역할을 담당하는 것

- 데이터가 어떻게 생성되고, 어디서 왔는지에 전혀 관여하지 않는다. 

- 단지 정보를 보여주는 역할만을 담당한다. 

- 웹 어플리케이션에서는 JSP 또는 PHP페이지가 뷰(View)에 해당한다.

 

2) 모델(Model)

- 로직을 가지는 부분으로 

- DB와의 연동을 통해서 데이터를 가져와 어떤 작업을 처리하거나, 처리한 작업의 결과를 데이터로서 DB에 저장하는 일을 처리한다. 

- 모델(Model)은 어플리케이션의 수행에 필요한 데이터를 모델링하고 비즈니스 로직을 처리한다. 

- 즉, 데이터를 생성하고 저장하고 처리하는 역할만을 담당한다. 

- 웹 어플리케이션에서는 (JSP 에서는) 자바빈(JavaBean)이 모델(Model)에 해당한다.

 

3) 컨트롤러(Controller)

- 어플리케이션의 흐름을 제어하는 것으로 뷰(View)와 모델(Model)사이에서 이들의 흐름을 제어한다. 

- 컨트롤러(Controller)는 사용자의 요청을 받아서 모델(Model)에 넘겨주고,  

- 모델(Model)이 처리한 작업의 결과를 뷰(View)에 보내주는 역할을 한다. 

- 웹 어플리케이션에서는 (JSP 에서는) 보통 서블릿(Servlet)을 컨트롤러(Controller)로 사용한다.

- 서블릿 : 서블릿은 자바 프로그램이 서버의 역할을 할 수있도록 하는 확장. 

           웹에서 사용하고 있는 프로토콜 http는 비연결형 프로토콜이며, 네트워크 전송 효율을 높이는 데는 도움을 줄 수 있음


참고사이트 : http://dawnisthm.tistory.com/151