MVC 웹 프레임워크란?
MVC(Model-View-Controller) 웹 프레임워크는 소프트웨어 디자인 패턴 중 하나
웹 응용 프로그램을 개발하기 위한 효과적인 방법을 제공한다.
MVC는 애플리케이션을 세 가지 주요 구성 요소로 분리하여 개발자에게 코드의 모듈화, 유지보수성, 확장성을 제공한다.
1. Model (모델)
역할: 데이터와 비즈니스 로직을 담당한다.
특징: 데이터의 상태를 관리하고, 데이터 변경 시 관련된 로직을 처리한다.
예시: 데이터베이스에서 데이터를 읽어오거나 업데이트하는 작업을 담당한다.
2. View (뷰)
역할: 사용자에게 정보를 표시하고 사용자 입력을 받는다.
특징: 사용자 인터페이스를 나타내며, 모델의 상태를 효과적으로 표현한다.
예시: HTML, JSP, Thymeleaf 등을 사용하여 웹 페이지를 구성한다.
3. Controller (컨트롤러)
역할: 사용자 입력을 받아 모델과 뷰 사이의 상호 작용을 관리한다.
특징: 모델의 업데이트나 뷰의 표시를 제어하며, 비즈니스 로직을 수행한다.
예시: 사용자가 웹 페이지에서 어떤 동작을 취할 때 해당 요청을 받아 처리하는 부분이다.
4. 동작 과정 (Flow)
사용자는 뷰를 통해 웹 애플리케이션에 요청을 보낸다.
컨트롤러는 해당 요청을 받아서 적절한 모델을 업데이트하거나 뷰를 표시한다.
모델이 업데이트되면, 뷰는 최신 데이터를 기반으로 사용자에게 새로운 정보를 표시한다.
사용자가 뷰를 통해 새로운 요청을 보낼 때까지 이 프로세스가 반복된다.
5. 장점
유연성과 확장성: 각 구성 요소가 독립적으로 개발 및 유지보수되므로 시스템을 쉽게 확장하고 유지보수할 수 있다.
재사용성: 각 구성 요소가 독립적으로 동작하므로 재사용이 용이하며, 모델의 변경이나 새로운 뷰의 추가가 쉽다.
테스트 용이성: 각 구성 요소를 개별적으로 테스트할 수 있어 소프트웨어 품질을 향상시킨다.
MVC 웹 프레임워크는 소프트웨어 개발에서 구조적이고 모듈화된 접근 방식을 제공하여 개발자에게 유연하고 효율적인 웹 애플리케이션 개발을 가능케한다.
이를 통해 코드의 가독성과 유지보수성을 높이고, 효율적인 팀 작업을 할 수 있다.
'Spring' 카테고리의 다른 글
[Spring] Entity (0) | 2023.12.21 |
---|---|
[Spring] 스프링 객체 관리 / 빈(Bean) (1) | 2023.12.20 |
[Spring] Layered Architecture (1) | 2023.12.20 |
[Spring] DI (Dependency Injection) / 의존성 주입 (0) | 2023.12.20 |
[Spring] Spring이란 ? (0) | 2023.12.14 |