MVC(Model-View-Controller) 패턴
소프트웨어 디자인 패턴 중 하나로, 소프트웨어의 구조화와 유지보수를 쉽게 하기 위한 아키텍처 패턴이다.
이 패턴은 소프트웨어를 모델(Model), 뷰(View), 컨트롤러(Controller) 세 가지 구성요소로 분리한다.
- 모델(Model): 데이터와 그 데이터를 조작하는 로직을 담당한다. 데이터베이스와 상호작용하거나, 파일 시스템에서 파일을 읽거나 쓰는 등의 작업을 수행한다. 또한, 이 데이터를 표현하는 방법이나 표현 방식에 대해서는 알지 못한다.
- 뷰(View): 사용자가 보는 UI(User Interface)를 담당한다. 모델의 데이터를 받아서 사용자에게 보여주거나, 사용자의 입력을 받아서 컨트롤러에 전달한다.
- 컨트롤러(Controller): 모델과 뷰를 연결하는 역할을 한다. 뷰에서 사용자의 입력을 받아서 모델에게 전달하거나, 모델의 데이터를 뷰에게 전달한다. 또한, 모델이나 뷰에 대한 로직을 처리하거나, 두 요소 간의 상호작용을 관리한다.
MVC 패턴의 장점
- 유지보수가 용이하다.
- 모델, 뷰, 컨트롤러가 분리되어 있기 때문에 각각의 요소를 개별적으로 수정할 수 있다.
확장성이 높다. - 모델, 뷰, 컨트롤러를 개별적으로 재사용할 수 있다.
- 코드의 재사용성이 높아진다.
MVC 패턴의 단점
- 복잡성이 증가한다.
- MVC 패턴은 애플리케이션의 복잡도가 증가할수록 더욱 복잡해진다.
- 프로젝트가 작을 경우, 구현 비용이 높을 수 있다.
- 구성요소간의 의존성이 증가하게 된다.
'Backend > Spring MVC' 카테고리의 다른 글
[Spring MVC] Servlet 기반의 MVC 패턴의 단점과 보완방법 (0) | 2023.03.13 |
---|---|
[Spring MVC] MVC 패턴 적용 (Servlet 기반) (0) | 2023.03.09 |
[Spring MVC] JSP (0) | 2023.03.08 |
[Spring MVC] 간단한 회원가입 기능작성 및 TEST (저장과 조회) (0) | 2023.03.07 |
[Spring MVC] HTTP Response - API JSON (Servlet 기반) (0) | 2023.03.06 |