MVC(Model, View, Controller)
애플리케이션을 구축하는데 “어떻게 나눌 것인가”에 대한 해답 중 하나로 사용되는 설계 패턴
- 사용되게 된 이유
- 동일한 파일에서 관리하였으나 효율적으로 관리하기 위함
- 특징
Model
- 데이터에 관련된 내용
- 데이터와 비즈니스 로직을 관리
- 앱이 포함해야할 데이터가 무엇인지 정의
- 데이터의 상태가 변경되면 뷰에게 알린다.
- View, Cotroller에 대해서 어떤 정보도 알지 못해야한다.
- 변경이 일어나면 변경에 대한 처리방법을 구현해야한다.
- ex
View
- 시각적인 내용
- 레이아웃과 화면 처리
- 사용자에게 보여지는 방식을 정의
- 표시할 데이터를 모델로부터 받는다.
- Model, Controller에 대해서 어떤 정보도 알지 못해야한다.
- 변경이 일어나면 변경통지에 대한 처리방법을 구현해야한다.
Controller
- Model과 VIew를 제어하는 내용
- 앱의 사용자로부터 입력에 대한 응답으로 모델/뷰를 업데이트하는 로직
- 모델이나 뷰의 변경을 모니터링 해야 한다.
예시
- 쇼핑몰
- 뷰
- 장바구니에 상품을 추가하거나 제거할 수 있게 해주는 추가/삭제 버튼이 있다.
- 추가/삭제 버튼을 누른다
- 모델
- 컨트롤러
- 데이터 변경에 따른 제어를 한 후 뷰에게 모델에서 가져온 업데이트된 데이터를 전송한다.

MVC - MDN Web Docs 용어 사전: 웹 용어 정의 | MDN