티스토리 뷰
MVC 아키텍처
M(Model)과 V(View), C(Controller) 3개로 구성되어진 방식을 모델2라고 하고, V(View)+C(Controller) 를 묶어서 하나로 처리하고, M(Model)을 따로 구성하는 방식을 모델1이라고 한다. 이번 글에서는 모델2에 대해서만 살펴보도록 하겠다.
각 컴포넌트들(M, V, C)의 역할
Model
데이터 처리에 관련된 일을 한다. 컨트롤러로부터 요청이 들어올 경우, DB에 연결을 해서 원하는 데이터를 가져오거나 변경(수정, 생성, 삭제)작업을 진행하게 된다.
Controller
중간자의 역할로서 일을 지정해준다고 생각하면 된다. 클라이언트로부터 요청(Request)이 들어올 경우, 요청에 대해서 실제 업무를 수행하는 모델(Model) 컴포넌트를 호출하는 일을 한다. 만약 클라이언트가 보낸 데이터가 있다면 모델에 전달하기 쉽도록 데이터를 가공하며, 모델이 업무를 마치면 그 결과로 화면을 생성하도록 뷰에게 전달하는 일을 한다.
View
모델이 처리한 데이터(결과 값)를 가지고 사용자에게 보여줄 화면을 만드는 일을 한다. 만들어진 화면은 웹 브라우저를 통해 사용자에게 보여진다. 즉 뷰는 HTML, CSS, JAVASCRIPT를 이용하여 사용자가 볼 수 있는 UI를 만든다.
MVC 아키텍처의 장점
- 코드의 재사용성이 높다. 예를 들어 화면을 변경 해야 될 경우 모델 컴포넌트는 그대로 재사용하고, 컴포넌트만 수정하면 된다.
- 유연하다. 뷰(View)와 모델(Model)간의 간섭을 피하고, Controller를 통해 관리하기 때문에 조금 더 유연한 구조가 된다.
- 생산성이 증가한다. 개발영역과 디자인 영역이 분리가 되기 때문에 업무 충돌이 감소한다.
- 유지보수가 쉽다.
MVC 아키텍처 구조
'JSP&Servlet' 카테고리의 다른 글
getRequestURI(), getContextPath() 차이 (0) | 2015.02.28 |
---|
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- autoboxing
- parent
- 오토박싱
- Post
- 자식클래스
- overriding
- wrapper
- HttpMethod
- 래퍼클래스
- Unboxing
- 오버로딩
- inheritance
- 부모클래스
- 상속
- 생성자
- Model2
- Boxing
- Properties
- MVC아키텍처
- overloading
- override
- MVC
- 오버라이딩
- 자바
- java
- HashMap
- mvc 패턴
- keySet()
- constructor
- extends
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함