MVC란 Model-View-Controller의 약자로 애플리케이션을 세 가지 역할로 구분한 개발 방법론이다. 요소와 기능들이 많아지고 구조가 이것저것 얽힐 수록 코드가 복잡해지고 난해해진다.
이것을 Model-View-Controller 세 가지로 나눠서 개발할 수 있다.
View는 단어에서 보이는 것처럼 눈에 보이는 것을 뜻한다. 즉 html과 css 나타내는 요소이다.
Controller는 말 그대로 뭔가를 제어하는 것. 대부분의 Javascript 코드들이 포함된다. Model과 View를 연결하는 역활을 하며 전반적으로 제어를 하는 파트이다.
데이터베이스에 저장/수정/읽기/삭제를 하는 데이터의 형식을 지정하고 저장하고 불러오는 작업들에 관한 코드들이다.
이러한 패턴을 성공적으로 사용하면, 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시작적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있게 된다.
하지만 이런 구조 자체를 개발하는데 시간이 소요된다.
그러므로 이 MVC 구조의 기본 설계가 갖춰진 MVC 웹 프레임워크라는 것이 나오게 된다.
대표적으로 Spring, Laravel, Django 등등이 있다.