✔️ MVC 패턴
MVC 패턴이란?
- 사용자 인터페이스, 데이터 및 논리 제어를 구현하는 패턴으로
하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세 가지의 역할로 구분한 패턴 - MVC의 각 컴포넌트
- Model : 컨트롤러가 호출할 때, 요청에 맞는 역할을 수행
비즈니스 로직을 구현하는 영역으로 응용 프로그램에서 데이터를 처리하는 부분
DB에 연결하고 데이터를 추출하거나 저장, 삭제, 업데이트, 변환 등의 작업을 수행하며
상태의 변화가 있을 때 컨트롤러와 뷰에 통보해 후속 조치 명령을 받을 수 있도록 함 - View : 컨트롤러로부터 받은 모델의 결과값을 가지고 사용자에게 출력할 화면을 생성
만들어진 화면을 웹브라우저에 전송하여 웹브라우저가 출력하게 함 - Controller : 일종의 조정자
클라이언트에게 요청을 받았을 때, 그 요청에 대해 실제 업무를 수행하는 모델 컴포넌트를 호출하며
클라이언트가 보낸 데이터가 있다면, 모델에 전달하기 쉽게 데이터를 가공함
이후 모델이 업무를 마치면 그 결과를 뷰에게 전달함
- Model : 컨트롤러가 호출할 때, 요청에 맞는 역할을 수행
- MVC 패턴의 구동 원리
- 웹 브라우저가 웹 서버에 웹 애플리케이션 실행을 요청
(Web Browser → Web Server) - 웹 서버는 들어온 요청을 처리할 수 있는 컨트롤러를 찾아서 요청을 전달
(Web Server → Controller) - 컨트롤러는 모델의 메서드를 호출
(Controller → Model) - 모델은 데이터를 가공하여 값 객체를 생성하거나, JDBC를 사용하여 데이터베이스와 인터랙션을 통해 값 객체를 생성
(Model) - 모델은 업무 수행을 마친 결과값을 컨트롤러에게 반환
(Model → Controller) - 컨트롤러는 모델로부터 받은 결과값을 뷰로 전달
(Controller → View) - 뷰는 전달받은 값을 참조하여 출력할 결과 화면을 만들고 컨트롤러에게 전달
(View → Controller) - 컨트롤러는 뷰로부터 받은 화면을 웹 서버에게 전달
(Controller → Web Server) - 웹 브라우저는 웹 서버로부터 요청한 결과값을 응답 받으면 그 값을 화면에 출력
(Web Server → Web Browser)
- 웹 브라우저가 웹 서버에 웹 애플리케이션 실행을 요청
'Tech Interview > Design Pattern' 카테고리의 다른 글
[Design Pattern] 목차 (0) | 2024.01.13 |
---|---|
[Design Pattern] 컴포지트 패턴 (0) | 2024.01.13 |
[Design Pattern] 스트래티지 패턴 (0) | 2024.01.13 |
[Design Pattern] 옵저버 패턴 (0) | 2024.01.13 |
[Design Pattern] 팩토리 메소드 패턴 (0) | 2024.01.12 |