MVC Pattern
✒️ 2025-06-12 09:38 내용 수정
MVC 디자인 패턴
Model, View, Controller의 약자로, 소프트웨어 설계의 3가지 요소
- 파일 업로드와 model 2에서 model2로 잠깐 언급한 MVC이다.
- 웹 개발에서 널리 사용하는 구조 패턴으로, Model-View-Controller 부분으로 나누어 비즈니스 로직, UI 관리, 사용자와의 상호작용을 나누어 관리한다.
Model
- 어플리케이션의 정보와 데이터의 가공을 담당하며, 데이터베이스와 상호 작용하여 비즈니스 로직을 처리한다.
- 사용자가 이용하려는 모든 데이터를 가지고 있어야 한다.
- View 또는 Controller에 대한 어떠한 정보도 알 수 없어야 한다.
- 변경이 일어났을 때 처리 방법을 구현해야 한다.
- 재사용이 가능해야 하며, 다른 인터페이스에서도 변하지 않아야 한다.
- DTO와 DAO가 주로 수행하던 역할이다.
View
- 클라이언트 단에서 보여지는 결과 화면을 반환하는 모듈로, 단순히 데이터를 받아 화면에 출력하는 역할만 가진다.
- Model이 가진 데이터를 저장하면 안된다.
- 재사용이 가능해야 하며, 다른 정보를 표현하기 쉽게 설계해야 한다.
- JSP 페이지가 주로 수행하던 역할이다.
Controller
- 클라이언트로부터 요청이 들어오면 그 입력을 처리하고 어떤 로직을 실행시킬지 Model과 View 사이을 연결하며 제어하는 모듈이다.
- 위의 역할 때문에 Model과 View에 대한 정보를 알고, 변경을 인지하면 이를 해석해 각각의 구성 요소에게 통지한다.
- 어플리케이션의 메인 로직을 담당한다.
- Servlet이 주로 수행하던 역할이다.
- Servlet 참고.