1. Model(모델)
어플리케이션의 데이터이며, 모든 데이터 정보를 가공하여 가지고 있는 컴포넌트이다.
- 사용자가 이용하려는 모든 데이터를 가지고 있어야하며, View(뷰) 또는 Controller(컨트롤러)에 대해 어떤 정보도 알 수 없어야 한다.
- 변경이 일어나면 처리 방법을 구현해야 한다.
2. View(뷰)
시각적인 UI 요소를 지칭하는 용어이다.
- Model(모델)이 가지고 있는 데이터를 저장하면 안된다.
- Model(모델)이나 Controller(컨트롤러)에 대한 정보를 알면 안되며 단순히 표시해주는 역할을 가지고 있다.
- 변경이 일어나면 처리 방법을 구현해야 한다.
3. Controller(컨트롤러)
Model(모델)과 View(뷰)를 연결해주는 역할을 한다.
- Model(모델) 또는 View(뷰)에 대한 정보를 알아야 한다.
- Model(모델) 또는 View(뷰)의 변경을 인지하여 대처를 해야한다.
MVC의 처리 순서
- 고객이 요청을 하면 App class가 요청을 받는다.
- App class는 프로젝트 파일 내의 Controller 파일의 command 인자를 통해 등록한 요청 위임 컨트롤러를 찾아 매핑(mapping)된 컨트롤러가 존재하면 doCommand를 통해 요청을 처리할 Controller로 이동한다.
- 컨트롤러는 해당 요청을 처리할 Service(서비스)를 받아 비즈니스로직을 서비스에게 위임한다.
- Service(서비스)는 요청에 필요한 작업을 수행하고, 요청에 대해 DB에 접근해야한다면 DAO에 요청하여 처리를 위임한다.
- DAO는 DB정보를 DTO를 통해 받아 서비스에게 전달한다.
- Service는 전달받은 데이터를 Controller에게 전달한다.
- Controller는 Model(모델) 객체에게 요청에 맞는 View(뷰) 정보를 담아 App class에게 전송한다.
- App class는 Controller에게 전달받은 View정보를 전달한다.
반응형
'기타 유용한 정보' 카테고리의 다른 글
DAO와 DTO란? (0) | 2020.11.02 |
---|---|
dto란 무엇인가? (0) | 2020.10.29 |
repl.it 단축키 정리 (0) | 2020.10.27 |
2020-10-26 [핵심 용어 정리] (0) | 2020.10.26 |
2020-10-26 "지역변수와 인스턴스 변수" (0) | 2020.10.26 |