본문 바로가기
Python/Django

Web - MVC/MVT Architecture

by hooni40 2021. 7. 4.
728x90
반응형

안녕하세요, 오늘은 django의 MVT 아키텍처 패턴에 대해 정리해보겠습니다.

 

 우선 아키텍처 패턴(Architecture Pattern)은 소프트웨어 내부에 존재하는 구조적인 패턴을 말합니다. 대표적으로 10개 정도가 있는데요 간단히 머가 있는지만 확인하고 지나가겠습니다.

 

아키텍처 패턴

-. 계층화 패턴(Layered pattern)

-. 클라이언트-서버 패턴(Client-server pattern) : 우리 주변의 웹 사이트, 온라인 게임 등

-. 마스터 슬레이브 패턴(Master-slave pattern)

-. 파이프-필터 패턴(Pipe-filter pattern)

-. 브로커 패턴(Broker patttern)

-. 피어 투 피어 패턴(Peer-to-peer pattern)

-. 이벤트-버스 패턴(Event-bus pattern)

-. MVC 패턴(Model-View-Controller pattern)

-. 블랙보드 패턴(Blackboard-pattern)

-. 인터프리터 패턴(Interpreter pattern)

 

 위의 패턴들 중에서 Django MVT 패턴가 비슷한 MVC 패턴에 대해 같단히 정리하고 가겠습니다.(이전에 정리해보았던 MVC 패턴도 확인해주세요!) MVC 패턴은 Model, View, Controller 세 가지로 나눠서 개발하는 패턴입니다. Model데이터를 저장, 보관하고 View사용자에게 보여지는 부분을 담당하고 Controller사용자의 입력을 받아 로직을 처리합니다. 이렇게 역할을 분리하여 개발하면 분업이 가능해지고 프로그램 완성도 더 빨리 할 수 있습니다!

 

 MVT 패턴은 Model, View, Template를 합친 것인데요, 하나씩 살펴보겠습니다. Model데이터 구조를 생성하고 데이터베이스와 소통하는 역할을 합니다. Model로 데이터 구조를 정리하면 Django는 CRUD를 통해 데이터 베이스와 소통합니다. Template는 이전 시간에 다뤘었는데요, 웹 사이트의 화면 구성을 담당하며 Template Language를 통해 매번 바뀌는 동적인 화면을 구성합니다. 만약 유튜브를 생각하면 영상, 제목, 댓글은 변경되더라도 기본적인 틀은 동일합니다. 여기에 Template Language를 이용하면 변하는 세부 내용들도 채워넣을 수 있습니다! 마지막으로 View웹 사이트의 로직을 담당하고 Model과 Template 사이를 연결해 줍니다. 즉 요청(Request)이 들어오면 요청을 처리하여 응답(Response)해주는 역할을 합니다!

 

 MVC 패턴과 차이점MVC 패턴의 View가 하는 역할MVT 패턴의 Template이 하고 MVC 패턴의 Controller가 하는 역할을 MVT 패턴의 View가 합니다! Django에서 MVT 구조를 하는 이유는 MVC의 Controller가 했던 역할의 일부를 Django 프레임워크가 직접 처리합니다. 따라서 개발자는 Model, View, Template에 집중하고 나머지는 Django프레임워크가 직접 처리해줍니다.

728x90
반응형

'Python > Django' 카테고리의 다른 글

Web - URL(2)  (0) 2021.07.06
Web - URL(1)  (0) 2021.07.05
Web - Django App  (0) 2021.07.02
Web - Django project 시작 및 Server  (0) 2021.07.01
Web - Django 설치하기(2)  (0) 2021.06.30

댓글