MVC란?
Model View Controller 약자로 애플리케이션을 세 가지의 역할로 구분한 개발 방법론.
소프트웨어가 돌아가는 방식, 패턴이라고도 할수있다.
사용하는 이유
각각의 역할을 주고 기능을 나누어서 정돈되고 가독성 높은 코드를 작성할 수 있다.
MVC의 각 특징
Model
- 데이터를 담당한다.
- 데이터 베이스에 접속해서 가져오거나 변경할 때 사용.
- 받아 온(or 스스로 가지고 있는 데이터를) 컨트롤러와 주고받는다.
View
- 유저가 보는 화면을 담당한다.
- 유저에 의해 이벤트나 액션이 발생한다.
Controller
MVC 흐름
[이미지 출처: 위키백과]
- 유저는 Controller를 사용하여 모델의 상태를 바꾼다.
- 유저의 요구사항(url)을 파악한다
- url: 사용자의 의도, 즉 해당 url에 해당되는 뭔가를 보고 싶다는 의미
- 유저 접근한 url에 따라서 해당 url에 해당되는 로직이 실행된다.
- model로부터 받은 데이터를 view가 볼 수 있게 가공을 한 후 보내준다.
- view에서 받은 정보들을 가공한 후 model로 보내준다.