Fri, Dec 24, 21, difference between mvc and mvt
This is a draft, the content is not complete and of poor quality!

difference

우선 아키텍처 패턴(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)

img1 daumcdn img1 daumcdn
img1 daumcdn  

 위의 패턴들 중에서 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프레임워크가 직접 처리해줍니다.

The following wiki, pages and posts are tagged with

TitleTypeExcerpt
2021-10-01-wiki-magnific-popup.md post 지킬 블로그에 이미지 확대 기능 추가하기
Jekyll + liquid post Monday-jekyll-liquid, jekyll install on mac and ubuntu using docker
css tips for web development post Tue, Oct 19, 21, tools, fonts cascading and selectors
auto focus when page loads post Tue, Oct 19, 21, auto-focus media-query google-font
keycode css trics for search focus post Wednesday-keycode, how to find keycode for the kb input keys
using css and jquery to switch between themes post Wed, Oct 20, 21, toggle icon, flash loading fix, DOM loaded before show content
tools for webdev post Sat, Oct 23, 21, tools for webdev frameworks, drawing, visualization text-editor
Complete guide to django rest framework and vue js post Wed, Nov 10, 21, Build professional REST APIs and spa with django vue
mvc-mvt definition post Fri, Dec 24, 21, difference between mvc and mvt
로컬 구글 Apps Script 개발 post 튜토리얼 따라하기
개발자의 글쓰기 post 개발자 글쓰기의 3원칙 : 정확성, 간결성, 가독성, 변수 네이밍부터 릴리스노트...
파이썬 코딩의 기술 2판 post 똑똑하게 코딩하는 법
자바스크립트는 왜 그 모양일까? page 더글라스 크락포드가 알려주는
javascript for impatient page Exploit the power of modern javascript and avoid the pitfalls
Practical Vim post 손이 먼저 반응하는
리팩토링 2판 page 코드 구조를 체계적으로 개선하여 효율적인 리팩터링 구현하기
한 권으로 끝내는 정규표현식 page 여덟 가지 프로그래밍 언어별 완벽 해설
자바스크립트 코딩의 기술 page 똑똑하게 코딩하는 법
typescript로 개발시 파일 순서 문제 post typescript hoisting filepushorder
css-meaning.md post toc의 css를 조정하다가 우연히 깨닫게 된 CSS 어원의 의미
Djangovue a fastrack to success page summary.
refactoring.md post toc의 css를 조정하다가 우연히 깨닫게 된 CSS 어원의 의미Javascript 에서 출력된 html string을 브라우저로 확인하기
wiki-favicon.md post favicon 추가 방법, 관련 링크
wiki-innerhtml.md post View 에서 가져온 data 를 표기하는 과정에서 문득 value, textContent, innerHTML, innerText의 차이
wiki-toc2side.md post CSS및 SCSS에 대한 정리