소프트웨어 개발의 복잡성이 증가함에 따라 효율적이고 유지 보수 가능한 코드 구조가 중요해졌습니다.
이러한 요구를 충족시키기 위해 다양한 설계 패턴이 도입되었으며, 그 중에서도 MVC 패턴(Model-View-Controller)은 가장 널리 사용되고 있는 패턴 중 하나입니다.
1. MVC 패턴의 정의
MVC(Model-View-Controller) 패턴은 소프트웨어 애플리케이션을 Model(모델), View(뷰), Controller(컨트롤러) 라는 세 가지 주요 구성 요소로 분리하는 설계 패턴입니다.
이 패턴은 애플리케이션의 내부 표현과 사용자의 상호작용을 분리함으로써, 코드의 재사용성과 유지 보수성을 높입니다.
- 모델(Model)
- 역할: 애플리케이션의 데이터와 비즈니스 로직을 관리합니다.
- 설명: 모델은 데이터베이스와의 상호작용을 통해 데이터를 가져오거나 저장하며, 비즈니스 규칙을 적용합니다. 모델은 애플리케이션의 상태를 유지하고, 뷰나 컨트롤러와 독립적으로 동작합니다.
- 뷰(View)
- 역할: 사용자에게 정보를 시각적으로 표현합니다.
- 설명: 뷰는 모델의 데이터를 기반으로 사용자 인터페이스(UI)를 생성합니다. HTML, CSS, JavaScript 등을 사용하여 데이터를 표시하고, 사용자가 애플리케이션과 상호작용할 수 있도록 합니다. 뷰는 모델을 직접 변경하지 않으며, 데이터 변경 요청은 컨트롤러를 통해 이루어집니다.
- 컨트롤러(Controller)
- 역할: 사용자 입력을 처리하고, 모델과 뷰 사이의 중개 역할을 합니다.
- 설명: 컨트롤러는 사용자의 입력을 받아 이를 처리하고, 적절한 모델과 상호작용하여 데이터를 업데이트하거나 조회합니다. 이후 뷰를 갱신하여 사용자에게 최신 정보를 제공합니다.
2. 동작순서
1. 클라이언트는 URL을 통해 요청을 전송한다.
2. 디스패처 서블릿은 핸들러 매핑을 통해 해당 요청이 어느 컨트롤러에게 온 요청인지 찾는다.
3. 디스패처 서블릿은 핸들러 어댑터에게 요청의 전달을 맡긴다.
4. 핸들러 어댑터는 해당 컨트롤러에 요청을 전달한다.
5. 컨트롤러는 비즈니스 로직을 처리한 후에 반환할 뷰의 이름을 반환한다.
6. 디스패처 서블릿은 뷰 리졸버를 통해 반환할 뷰를 찾는다.
7. 디스패처 서블릿은 컨트롤러에서 뷰에 전달할 데이터를 추가한다.
8. 데이터가 추가된 뷰를 반환한다.
'기타 설정' 카테고리의 다른 글
CORS란? (0) | 2024.08.09 |
---|---|
aws 프리티어 가입 (계정 생성) (0) | 2023.12.23 |
AWS 탈퇴하기 (0) | 2023.12.23 |
MySQL 다운로드 (0) | 2023.12.13 |
팀 프로젝트 가져오기 (0) | 2023.10.12 |