티스토리 뷰
Django의 디자인 패턴
- MVC vs MTV
MVC와 MTV는 소프트웨어 설계 패턴으로 주로 웹 애플리케이션 개발에 사용된다 각각 Model-View-Controller와 Model-Template-View의 약자이며 애플리케이션의 구조를 어떻게 구성할지에 대한 지침을 제공한다
MVC (Model-View-Controller)
MVC는 애플리케이션을 세 가지 주요 구성 요소로 나눈다: 모델(Model) 뷰(View) 컨트롤러(Controller)
- 모델(Model)은 애플리케이션의 데이터와 비즈니스 로직을 포함한다 데이터베이스와의 상호 작용 및 데이터 처리 로직이 여기에 속한다
- 뷰(View)는 사용자 인터페이스와 관련된 부분으로 사용자에게 정보를 표시하고 사용자의 입력을 받는다
- 컨트롤러(Controller)는 사용자의 입력을 받아 모델을 업데이트하고 업데이트된 모델을 바탕으로 뷰를 다시 렌더링한다 사용자의 요청에 따라 애플리케이션의 흐름을 제어한다
MVC 패턴은 애플리케이션의 구성 요소 간의 역할을 명확히 분리함으로써 유지 관리가 용이하고 확장성이 높으며 개발 효율성이 향상된다는 장점이 있다
MTV (Model-Template-View)
MTV는 주로 Django 웹 프레임워크에서 사용되는 패턴으로 MVC와 매우 유사하지만 명칭과 역할에 약간의 차이가 있다
- 모델(Model)은 MVC 패턴의 모델과 동일하게 데이터와 비즈니스 로직을 관리한다
- 템플릿(Template)은 MVC의 뷰에 해당하는 부분으로 사용자에게 보여지는 부분을 담당한다 HTML과 같은 마크업 언어로 구성되어 사용자 인터페이스를 생성한다
- 뷰(View)는 MVC의 컨트롤러와 유사한 역할을 하지만 MTV 패턴에서는 사용자의 요청을 받아 모델을 통해 데이터를 처리하고 그 결과를 템플릿으로 전달하여 사용자에게 보여주는 역할을 한다
MTV 패턴도 MVC와 마찬가지로 애플리케이션의 구성 요소를 명확히 분리하여 개발의 복잡성을 줄이고 유지 보수와 확장성을 용이하게 한다
'내일배움캠프 개발자과정 > TIL' 카테고리의 다른 글
내일배움캠프 44일차 TIL (0) | 2024.04.16 |
---|---|
내일배움캠프 43일차 TIL (0) | 2024.04.15 |
내일배움캠프 41일차 TIL (0) | 2024.04.11 |
내일배움캠프 40일차 TIL (0) | 2024.04.09 |
내일배움캠프 39일차 TIL (0) | 2024.04.08 |