百聞 不如一打 [백문이 불여일타]

백번 묻는것 보다 한번 쳐보는게 낫다

기타 유용한 정보

MVC 구조에 관한 정리

qbj700 2020. 11. 2. 23:37

1. Model(모델)

 

어플리케이션의 데이터이며, 모든 데이터 정보를 가공하여 가지고 있는 컴포넌트이다.

  • 사용자가 이용하려는 모든 데이터를 가지고 있어야하며, View(뷰) 또는 Controller(컨트롤러)에 대해 어떤 정보도 알 수 없어야 한다.
  • 변경이 일어나면 처리 방법을 구현해야 한다.

 

 

2. View(뷰)

 

시각적인 UI 요소를 지칭하는 용어이다.

  • Model(모델)이 가지고 있는 데이터를 저장하면 안된다.
  • Model(모델)이나 Controller(컨트롤러)에 대한 정보를 알면 안되며 단순히 표시해주는 역할을 가지고 있다.
  • 변경이 일어나면 처리 방법을 구현해야 한다.

 

 

3. Controller(컨트롤러)

 

Model(모델)과 View(뷰)를 연결해주는 역할을 한다.

  • Model(모델) 또는 View(뷰)에 대한 정보를 알아야 한다.
  • Model(모델) 또는 View(뷰)의 변경을 인지하여 대처를 해야한다.

 

 

 

MVC의 처리 순서

  1. 고객이 요청을 하면 App class가 요청을 받는다.
  2. App class는 프로젝트 파일 내의 Controller 파일의 command 인자를 통해 등록한 요청 위임 컨트롤러를 찾아 매핑(mapping)된 컨트롤러가 존재하면 doCommand를 통해 요청을 처리할 Controller로 이동한다.
  3. 컨트롤러는 해당 요청을 처리할 Service(서비스)를 받아 비즈니스로직을 서비스에게 위임한다.
  4. Service(서비스)는 요청에 필요한 작업을 수행하고, 요청에 대해 DB에 접근해야한다면 DAO에 요청하여 처리를 위임한다.
  5. DAO는 DB정보를 DTO를 통해 받아 서비스에게 전달한다.
  6. Service는 전달받은 데이터를 Controller에게 전달한다.
  7. Controller는 Model(모델) 객체에게 요청에 맞는 View(뷰) 정보를 담아 App class에게 전송한다.
  8. 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