본문 바로가기
IT/Django

Django, MVT 패턴외에 다른 패턴이 사용 가능할까?

by Cyber_ 2024. 4. 7.

당연히 가능하다. 아래에는 어떤 서비스에 어떤 패턴을 적용시키면 좋은지 간략하게 설명해 놓았다.

0. MVT 패턴

1) MVT 패턴이란?

MVT 패턴이란 Model-View-Templete이다.

  • Model: 데이터와 비지니스 로직을 처리, 데이터베이스의 구조(스키마)를 정의하며, 데이터를 저장하고 검색하는 방법을 관리
  • View: 사용자에게 보여지는 데이터를 처리. 뷰는 모델로부터 데이터를 받아와 사용자에게 보여줄 최종 출력을 생성
  • Templete: 사용자 인터페이스. HTML로 구성되어 있으며, 부로부터 전달받은 컨텍스트(context) 데이터를 활용하여 사용자에게 보여지는 페이지를 렌더링

2) MVT 패턴이 적합한 서비스

  • 데이터 중심의 웹 애플리케이션: 모델을 통해 데이터를 관리하고, 템플릿을 통해 사용자 인터페이스를 제공하는 경우
  • CRUD기반의 애플리케이션
  • 웹사이트와 콘텐츠 관리 시스템: 사용자에게 정보를 제공하고, 콘텐츠를 관리하는 웹사이트나 시스템에 적합.

1. Django와 MVT 패턴

  • Django는 전통적으로 MVT 패턴을 사용하도록 처음 앱을 만들 때 패키지를 구성해준다.
  • 만약 비지니스 로직이 매우 복잡하고, 모델과 뷰의 분리만으로 충분하지 않은 경우, MVC 패턴이나 클린 아키텍처와 같은 복잡한 패턴을 적용할 수 있따.
  • 대규모 시스템: 도메인 주도 설계(DDD)나 마이크로 서비스 아키텍처와 같은 패턴을 적용하여, 시스템의 모듈화와 확장성을 높일 수 있다.
  • Django를 Restful API를 제공하는 백엔드 서버로 사용며, 프론트엔드는 React, Vuew.js와 같은 프레임워클 사용하여 구현할 수 있다.

2. 결론

  • MVT외에 유연하게 패턴을 적용할 수 있다. 요구사항에 맞추어 더 복잡한 아키텍처를 채택하는 것이 중요하며. 과연 Djnago로 그 패턴을 적용하는 것이 맞는지 다른 프레임워크를 적용하는 것이 좋은지를 고려하는 것이 필요하다.