Model View Controller
비즈니스 로직과 사용자 뷰를 분리하여 유지 보수가 쉬운 구조를 만들 수 있다.
Model
- 요청에 의한 정보 처리가 실제로 일어나는 부분
- 정보 변경이 일어나면 컨트롤러와 뷰에 변경사항을 알려야 한다.
- 뷰와 컨트롤러에 대한 정보를 가지고 있지 않아야 한다.
View
- 사용자에게 직접 보여지는 부분
- 뷰 자신 이외에는 참조 할 수 없다.
- 모델로부터 정보를 가져와 보여준다.
Controller
- 모델과 뷰 사이를 연결하는 부분
- 모델과 뷰를 모두 참조해야 한다.
- 뷰에서 일어나는 이벤트를 모델에 전달한다.