MVC패턴은 디자인패턴 중 하나라고 한다.
그렇다면 디자인패턴은 무엇인가? 디자인 패턴은 특정한 것을 개발하는 중에 발생했던 문제점을 정리해서 상황에 따라 간편하게 적용할 수 있게 특정한 "규약"으로 만들어 손쉽게 쓸 수 있도록한 형태라고 한다. 디자인 패턴중 스트래티지 패턴, 옵저버 패턴 등등 많은 종류가 있다고 하는데 그 중 하나인 MVC패턴에 대해 알아보도록 하자.
MVC패턴은 Model-View-Controller의 약자라고 한다.
출처사이트 : https://cocoon1787.tistory.com/733 위 그림처럼 유저가 view를 보고 controller를 조작하면 controller는 model를 통해서 데이터를 가져오고 데이터를 바탕으로 시각적인 표현을 담당하는 View를 제어해서 사용자에게 전달하게 된다고 한다.데이터를 가진 객체를 모델이라고 한다. 내부 상태의 데이터를 가질 수 있다고 하고, 상태에 변화가 있을 경우 컨트롤러와 뷰에 통보 한다고 한다.
Veiw는 클라이언트를 위한 HTML/CSS/Javascript들을 모아둔 컨테이너라고 한다. View에서 사용자가 볼 결과물을 생성하기 위하여 모델로 부터 가져온다고 한다.
사용자의 요청을 파악한 후에 그 요청에 맞는 데이터를 Model에 요청하고 데이터를 view에 반영한다고 한다.
비지니스 로직과 UI로직을 분리함으로써 유지보수를 독립적으로 수행가능하게 한다고 한다. 또한 Model과 View가 다른 컨포넌트에 종속되지 않아 확장성과 유연성에 유리하다고 한다.
Google에 Angular JS, PHP에 CODEIGNITER, python의 django, Facebook의 react 등등이 있다고 한다.
또한 NestJS를 배우면서 NestJS 또한 MVC 패턴을 Express 라이브러리와 적용 가능하다고 한다.
[[개발상식] MVC 패턴이란? (Model-View-Controller), tistory, 2022년08월04일 접속]
https://cocoon1787.tistory.com/733
[[개발자 면접준비]#1. MVC패턴이란, naver blog, 2022년08월04일 접속]
https://m.blog.naver.com/jhc9639/220967034588
[Model-View-Controller, NestJS Docs, 2022년08월04일 접속]
https://docs.nestjs.com/techniques/mvc