September 27, 2020
그림 출처: MDN
MVC 는 소프트웨어 에서 사용 되는 디자인 패턴이다.
어플리케이션 에서 비즈니스 로직을 분리해서 사이드 이펙트 없이 하나의 소프트웨어를 만드는 방법론이다.
아래 예시를 설명하기 쉽게 자주 가는 웹 쇼핑몰 하나를 생각해보자.
모델은 어플리케이션 내의 모든 정보를 담고 있는 집합소 같은 개념이다.
쇼핑몰에서 상품에 대한 정보, 가입한 회원에 대한 정보 등이 모두 저장 관리 되고 있는 곳이 Model
이다.
화면에 보이는 모든 요소들을 말한다.
회원가입 화면의 이름 주소 등을 입력하는 폼, 버튼 또는 장바구니 영역의 모든 버튼과 글자 및 인풋들.
참고로 View는 Controller를 모른다.
Controller는 사용자로부터 입력을 받는다.
사용자로부터 받은 입력에 대한 응답으로 Model, View 를 업데이트 시키는 영역.
예를 들어 장바구니 버튼을 클릭 했을 때 제품의 수량을 올려줘야 하면 Model의 데이터를 갱신 하고 불러오고,
Model은 갱신된 데이터를 View로 전달해 보여 준다.
Controller 와 View는 1:n 의 관계가 된다.