소프트웨어들에는
구조에도 공통점이 있고, 문제Error에도 공통점이 있다!
소프트웨어의 디자인패턴
전세계의 개발자들이 개발을 하다보니 비슷한 문제를 해결하는 공통적인 구조를 발견
ex) 클라이언트 - 서버 (요청,응답) 구조 역시 소프트웨어 디자인 패턴 중 하나임
즉, 자주 사용되는 소프트웨어의 구조를 마치 건축공법처럼 일바화 해둔 것!
장점: 특정 구조에 대한 설계를 빠르게 할 수 있음.,
공통 문제에 대해 재사용 가능한 해결 방법을 제시할 수 있음.
Django의 디자인패턴
MTV pattern 이라고 함.
== MVC 디자인 패턴을 살짝 변형한 것임.
(원래 mvc 라는 패텅이 있는데 장고에 맞게 살짝 변경(
MVC
Model - View - Controller 세가지 구조
데이터와 논리 구조를 제어하는 설계로, 널리 사용되는 디자인 패턴 중 하나
(하나의 큰 소프트웨어를 나워서 생각해보면 어떨까? 라는 생각으로부터 기반)
Model : 데이터와 관련된 로직을 관리
View : 레이아웃과 관련된 화면을 처리
Controller : Model과 View를 연결하는 로직을 처리
왜 이렇게 분리하는건지?
관심사를 분리하자!
각각의 부분이 독립적으로 변함 -> 생산성도 증가하고 유지보수도 용이
MTV
Model : DATA 담당
데이터와 관련된 로직을 처리. 데이터 구조 정의, 데이터베이스 기록 관리
(View)Template : 화면(레이아웃, 보여지는 부분) 담당
레이아웃과 화면상의 로직을 처리, UI 와 레이아웃
(Controller)View : M과 T의 중간 담당
메인 비즈니스 로직을 담당.
클라이언트의 요청에 대해 처리를 분기함
ㄴ 보여지는걸 요청하면 T로 보내고, data를 요청하면 M으로 보내고, 외부로 요청하기도 함
ㄴ 결과를 가져온 후 응답을 만들어서 클라이언트에게 전달.
'Django' 카테고리의 다른 글
[Django] #8 장고 Template System (0) | 2024.08.14 |
---|---|
[Django] #7 장고 Template 시작하기 (0) | 2024.08.13 |
[Django] #5 요청과 응답 (0) | 2024.08.12 |
[Django] #4 클라이언트와 서버 (0) | 2024.08.12 |
[Django] #3 장고 앱 (0) | 2024.08.12 |