프로그래밍

[Django] MVC 와 MVT 본문

Python/Django

[Django] MVC 와 MVT

시케 2023. 11. 16. 16:49
728x90
반응형

2023.11.14.화

MVC 와 MVT

MVC와 MVT 패턴 모두 효율적인 개발을 위한 SW 디자인 패턴이다

 

MVC 패턴은 이미 다룬바가 있다

MVT 패턴은 Model - View - Template 구조로 이루어져 있다

MVC  패턴으로부터 파생된 구조이므로 대략적인 구조는 비슷하다

 

기존 MVC 패턴에서는 Model 과 View의 상호작용을 위해

반드시 Controller를 거쳐가야 하므로 Controller가 지나치게 비대해질 수 있다는 우려사항이 있다

 

MVT 패턴에서는 해당 단점을 해결할 수 있다

 

 

MVT 패턴

MVT 패턴은 Model - View - Template 구조로 이루어져 있다

 

Model

기존의 MVC 패턴에서의 Model과 역할이 같다

데이터와 관련된 일을 수행한다

 

View

기존의 MVC 패턴에서의 View와 이름이 같지만 오히려 Controller에 가깝다

자신의 로직을 수행하고 데이터 처리가 필요할 시 Model에 요청한다

자신의 로직의 처리가 끝나면 템플릿을 사용하여 HTML 파일을 생성(render)한다

 

Template

실질적으로는 MVC 패턴의 View에 가깝다

사용자에게 보여줄 화면 UI/UX를 정의한다

 

MVC와 MVT 흐름

# MVC 요청 흐름
학생 조회시

View: 학생 목록 출력 요청

Controller: 학생 데이터를 Model에 요청

Model: 해당 정보 조회 및 전달

Controller: 해당 정보를 담아 처리 후 다시 뷰에 전달

View: 받은 정보를 알맞게 화면에 출력
# MVT 요청 흐름
학생 조회시

학생 목록 출력 요청

URLConf를 통해 URL 분석 후 View 결정

View: 학생 데이터를 Model에 요청

Model: 해당 정보 조회 및 전달

View: 해당 정보를 보여줄 Template 설정 및 render

Template: 화면에 출력(보여줄 화면 양식 정의)

 

728x90
반응형
Comments