![](https://velog.velcdn.com/images/choisooyoung-dev/post/ad79711c-5f6e-4125-b786-e9cf85400c1c/image.png)
MVC 패턴 정리하기
MVC 패턴
![](https://velog.velcdn.com/images/choisooyoung-dev/post/dc0ae920-59c9-444b-8756-f4f2e860031a/image.png)
디자인 패턴? 프로그램이나 어떤 특정한 것을 개발하는 중에 발생했던 문제점들을 정리해서 상황에 따라 간편하게 적용해서 쓸 수 있는 것을 정리하여 특정한 "규약"을 통해 쉽게 쓸 수 있는 형태로 만든 것
- Model View Controller 패턴
- 데이터 및 논리 제어를 구현하는데 사용되는 소프트웨어 디자인 패턴이며, 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고 있다.
Model
- 컨트롤러가 호출할 때 데이터베이스와 연동하는 데이터와 연관된 비즈니스 로직을 처리하는 역할
- 사용자 입출력, 데이터 추출, 저장, 삭제, 수정 등
View
- 사용자와 상호작용하며 컨트롤러부터 받아 온 모델의 결과 값을 사용자에게 화면으로 보여주는 역할
- input 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소
Controller
- Model과 View 사이를 이어주는 역할
- Model이 데이터를 어떻게 처리할 지 알려주는 역할
간단하게 개념을 알아보았는데, Nest.js는 어떤 패턴을 추구하고 있는지 궁금해졌다.
![](https://velog.velcdn.com/images/choisooyoung-dev/post/09a037e4-4458-4c64-88ab-e298861ce635/image.png)
- Nest는 기본적으로 내부적으로 Express 라이브러리를 사용하기 때문에 Express에서 MVC(Model-View-Controller) 패턴을 사용하는 모든 기술은 Nest에도 적용된다고 한다.