MVC 아키텍쳐 란 무엇인가?
MVC(Model - View - Controller)로 아키텍처를 구성하여 프로젝트를 완성하는 것
컨트롤러(Controller) 컴포넌트의 역할
①클라이언트의 요청을 받았을 때 그 요청에 대해 실제 업무를 수행하는 모델 컴포넌트를 호출하는 일
②클라이언트에서 데이터를 보내왔다면 모델을 호출할 때 전달하기 쉽게 데이터를 적절히 가공하는 일
③모델이 업무 수행을 완료하면, 그 결과를 가지고 화면을 생성하도록 뷰에게 전달하는 일
*즉, 클라이언트에 요청에 대해 모델과 뷰를 결정하여 전달하는 일*
모델(Model) 컴포넌트의 역할
데이터 저장소(예 : 데이터베이스, 디렉터리 서비스 등)와 연동하여 사용자가 입력한 데이터나 사용자에게 출력할 데이터를 다루는 일
특히 여러 개의 데이터 변경 작업(추가, 변경, 삭제)을 하나의 작업으로 묶은 트랜잭션을 다루는 일
뷰(View) 컴포넌트의 역할
모델이 처리한 데이터나 그 작업 결과를 가지고 사용자에게 출력할 화면을 만드는 일.
즉, 뷰 컴포넌트는 HTML과 CSS, Javascript를 사용하여 웹 브라우저가 출력 할 UI를 만듭니다.
웹 프로젝트에서의 MVC의 실행 흐름
MVC 의 이점은 무엇인가?
높은 재사용성, 넓은 융통성
① 화면 생성 부분을 별도의 컴포넌트로 분리하였기 때문에, 모델과 컨트롤러 상관 없이 뷰 교체가 가능하다.
② 원 소스 멀티 유즈(One Source, Multi Use) , 모델 컴포넌트가 작업한 결과를 다양한 뷰 컴포넌트로 전달 가능
(HTML, XML, JSON 등등)
③ 코드를 재 사용 할 수 있다. 화면을 바꾸거나 데이터 형식을 바꾸더라도 모델 컴포넌트는 그대로 재사용 가능
빠른 개발, 저렴한 비용
①다른 프로젝트에서도 모델 컴포넌트를 재사용 할 수 있기 때문에 개발 속도가 빨라진다. 또한 서버 개발자는 컨트롤러와 모델 개발에 집중하고, 뷰 개발자와의 작업을 분리 할 수 있다.
'ServletJDBC' 카테고리의 다른 글
서블릿 데이터 보관소 (0) | 2015.07.20 |
---|---|
JSP 프리컴파일 (0) | 2015.07.20 |
Statement vs PreparedStatement (0) | 2015.07.12 |
서블릿(Servlet) 기초2 (0) | 2015.07.12 |
서블릿기초1 (0) | 2015.07.12 |