애플리케이션의 프레젠테이션 레이어를 구현할 때 일반적으로 사용하는 패턴이다. 서로 다른 컴포넌트에 대해 책임이 명확한 아키텍처를 정의하는 것이 주요 원칙이다.
- Model : 비즈니스 데이터와 사용자의 컨텍스트 내
애플리케이션의 상태
를 나타낸다.
- 사용자 프로필 정보, 쇼핑 장바구니 데이터, 주문 데이터 등
- View : 원하는 형식으로 사용자에게 데이터를 제공하고 사용자와의 상호 작용을 지원하며 클라이언트 측 유효성 검증, i18n, 스타일을 지원한다.
- Controller : 서비스 레이어와의 상호 작용, 모델 업데이트, 실행 결과를 기반으로 사용자를 적절한 뷰로 이동시키는 것과 같이
FE에서 사용자가 수행한 요청 작업을 처리
한다.
a. 요청 : XMLHTTPRequest를 준비하고 서버로 전송한다. 디스패처는 대응하는 컨트롤러로 요청을 전달한다.
b. 응답 : 컨트롤러가 서비스 레이어를 호출하고 그 결과를 받으면 응답 데이터에 서식을 적용해 브라우저로 전송한다. 이 때 뷰를 반환하지 않으며, 브라우저는 데이터를 받고 기존의 뷰를 부분적으로 업데이트한다.