둘러보기 생략.
 

MVC 아키텍처

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)

MVC 상세 내용
  • Model : 모델에는 어플리케이션 기능의 핵심이 포함되며 어플리케이션의 상태를 캡슐화한다. 모델은 뷰나 컨트롤러를 볼 수 없다.
  • View : 모델의 표현이다. 모델이 변경될 때 공지를 받는다. 보통 사용자 인터페이스 요소이다.
  • Controller : 일반적으로 사용자의 액션에 대한 처리와 응답을 담당한다. 사용자 액션을 모델의 변경으로 매핑한다.
장점

Model-View-Controller 는 대부분의 Web Application Framework 에서 필수적으로 지원하고 있는 중요한 아키텍처로 다음과 같은 장점이 있다.

  • 각 영역별로 역할이 명확히 구분되어 해당 영역에 집중하여 개발할 수 있다.
  • 모듈간의 의존성을 낮추어 재사용성 및 확장이 용이한 구조이다.
  • 전체 소프트웨어 라이프 사이클로 보았을 때 유지보수에 유리하기 때문에 대규모 프로젝트에서 특히 도움이 된다.
  • 프레임워크 기반으로 웹 어플리케이션을 작성하게 되면 MVC 설계 원칙을 강제할 수 있다.

Model2 개발 방식

MVC 상세 내용

각각의 역할을 나누어 작업을 분담시킨 MVC 패턴을 웹에 적용한 것이다.

  • View : 프리젠테이션 로직만을 처리하며 주로 JSP가 담당한다.
  • Controller : 브라우저에서 요청(Request)을 받아 그 요청을 어디로 보낼지 결정한다. Servlet이 담당한다.
  • Model : 어플리케이션의 상태를 가지고 비지니스 객체들로 구성된다. Model 부분은 비지니스 레이어에 포함된다.