MVC 아키텍처
Submitted by byunghun.woo on 금, 05/30/2008 - 11:25
Anyframe Web은 MVC 아키텍처 기반으로 구성된 웹 프레임워크로 MVC 아키텍처에 대한 상세 내용 및 Model2 개발 방식에 대해 살펴보도록 한다.
MVC(Model-View-Controller)
Controller 컴포넌트를 두어 Data Access and Business Logic <-> Data Presentation and User Interaction 을 분리시킨 디자인 패턴이다.
MVC (Model-View-Controller)
MVC 상세 내용
- Model : 모델에는 어플리케이션 기능의 핵심이 포함되며 어플리케이션의 상태를 캡슐화한다. 모델은 뷰나 컨트롤러를 볼 수 없다.
- View : 모델의 표현이다. 모델이 변경될 때 공지를 받는다. 보통 사용자 인터페이스 요소이다.
- Controller : 일반적으로 사용자의 액션에 대한 처리와 응답을 담당한다. 사용자 액션을 모델의 변경으로 매핑한다.
장점
Model-View-Controller 는 대부분의 Web Application Framework 에서 필수적으로 지원하고 있는 중요한 아키텍처로 다음과 같은 장점이 있다.
- 각 영역별로 역할이 명확히 구분되어 해당 영역에 집중하여 개발할 수 있다.
- 모듈간의 의존성을 낮추어 재사용성 및 확장이 용이한 구조이다.
- 전체 소프트웨어 라이프 사이클로 보았을 때 유지보수에 유리하기 때문에 대규모 프로젝트에서 특히 도움이 된다.
- 프레임워크 기반으로 웹 어플리케이션을 작성하게 되면 MVC 설계 원칙을 강제할 수 있다.
Model2 개발 방식
MVC 상세 내용
각각의 역할을 나누어 작업을 분담시킨 MVC 패턴을 웹에 적용한 것이다.
- View : 프리젠테이션 로직만을 처리하며 주로 JSP가 담당한다.
- Controller : 브라우저에서 요청(Request)을 받아 그 요청을 어디로 보낼지 결정한다. Servlet이 담당한다.
- Model : 어플리케이션의 상태를 가지고 비지니스 객체들로 구성된다. Model 부분은 비지니스 레이어에 포함된다.

