728x90
MVC 패턴 (Model-View-Controller Pattern)
- 소프트웨어 디자인 패턴
- 사용자 인터페이스로부터 비즈니스 로직을 분리
- 시각적 요소나 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있음
MVC 패턴 장점
- 가독성 : 각 구성요소(Model, View, Controller)가 독립적이기 때문에 코드의 구조가 명확
- 확장성 : 기능의 확장이 필요할 때, 해당하는 부분만을 수정
- 재사용성 : 각 구성요소가 독립적이므로 재사용이 용이, 특히 Model은 다른 시스템이나 프로젝트에서도 재사용 가능
- 분리와 집중 : 각 구성요소의 역할이 분리되어 있기 때문에 각 역할에 집중할 수 있음
# 모델 (Model)
- 데이터와 애플리케이션이 무엇을 할 것인지를 정의하는 부분
- 내부 비즈니스 로직을 처리하기 위한 역할- 데이터와 연관된 비즈니스 로직을 처리하는 역할
- 데이터 추출, 저장, 삭제, 업데이트 등의 역할을 수행
# 뷰 (View)
- 사용자에게 보여주는 화면(UI)
- 사용자와 상호작용, 컨트롤러부터 받은 모델의 결과값을 사용자에게 화면으로 출력하는 일을 함
- 여러개의 뷰가 존재할 수 있음
- 모델에서 받은 데이터는 별도로 저장 X
# 컨트롤러 (Controller)
- 컨트롤러는 모델과 뷰 사이를 이어주는 인터페이스 역할
- 모델이 데이터를 어떻게 처리할지 알려주는 역할
- 뷰에 요청이 있으면 해당 업무를 수행하는 모델을 호출하고 업무를 모두 수행하면 다시 결과를 뷰에 전달하는 역할
Spring MVC 구조
728x90
'프레임워크(Framework) > Spring Boot' 카테고리의 다른 글
[Spring Boot] 스프링 부트 로드맵 (28) | 2024.02.13 |
---|---|
[Spring Boot] 관점 지향 프로그래밍 (AOP) (27) | 2024.02.02 |
[Spring Boot] 제어의 역전 (IoC), 의존성 주입 (DI) (26) | 2024.02.02 |
[Spring Boot] Spring Framework 동작 원리 (27) | 2024.02.02 |
[Spring Boot] 디자인 패턴(GoF) (19) | 2024.01.30 |