Application을 Model-View-Controller의 세 가지 역할로 구분한 개발 방법론 / 소프트웨어 디자인 패턴
Design Pattern
프로그램 등 개발 중에 발생했던 문제점들에 대해 상황에 따라 간편하게 적용해서 특정한 규약으로 쉽게 쓸 수 있는 형태로 정리한 것으로 유지 보수성을 높임
Ex. MVC 패턴, Strategy 패턴, Observer 패턴 등
각 component를 분리하여 각자의 역할에 집중할 수 있게끔함으로써 유지보수성, application의 확장성, 유연성이 증가하고, 중복 코딩의 문제점이 사라짐
데이터와 비즈니스 로직을 관리하는 객체
데이터 : 내부의 상태에 대한 정보나 모델을 표현하는 이름 속성으로 DB, 상수, 초기화 값, 변수 등을 뜻함
모델 상태 변화 시, controller와 view에 통보하면 view는 최신의 결과를 보여주고, controller는 모델의 변화에 따른 적용 가능한 명령을 추가, 제거, 수정할 수 있음
사용자 interface 요소
명령을 model과 view로 라우팅함
; 사용자가 데이터를 클릭하고 수정하는 것에 대한 이벤트들을 처리하는 부분
; model과 view를 연결해주는 역할
React, Angular JS, Python Django