MVC 패턴
Model - View -Controller (MVC)
여러 디자인 패턴 중 하나로, 이 세가지 모듈을 구성요소로 하는 애플리케이션 디자인 패턴.
* 디자인 패턴: 프로그램과 같은 것들을 개발할 때 적용하는 규약.
즉, MVC패턴은 애플리케이션을 개발할 때, 이 세가지 구성요소로 영역을 분리하고, 각각의 역할에 알맞게 코드를 작성하는 개발방식이다.
그렇다면, MVC패턴의 각 구성요소에 대해서 알아보자.
MVC 구성 요소
Model
어플리케이션의 데이터와 관련되어 있는 컴포넌트.
데이터 뿐만 아니라, 이의 가공을 책임진다.
규칙
- 사용자가 요구하는 모든 데이터를 가지고 있어야 한다.
- 변경이 일어나면 변경의 통지에 대한 처리 방법을 구현해야 한다.(변경을 외부로 알리는 방식)
- View, Controller에 대한 어떤 정보도 알 수 없어야 한다.
View
사용자 인터페이스 요소. 즉, 데이터의 입력, 출력을 책임진다.
규칙
- 모델이 가진 정보를 따로 저장하면 안된다.
- 변경이 일어나면 변경의 통지에 대한 처리 방법을 구현해야 한다. (변경을 외부로 알리는 방식)
- Model, Controller에 대한 어떤 정보도 알 수 없어야 한다.
Controller
데이터와 사용자 인터페이스의 요소를 잇는 역할.
이벤트를 처리하는 역할.
규칙
- Model, View에 대해서 알고 있어야 한다.
- Model, View의 변경을 모니터링 해야 한다.