[Django] 장고와 MVT 패턴

ITmakesmeSoft·2022년 10월 29일
0

Django

목록 보기
1/10

Framework

서비스 개발에 필요한 기능들을 미리 구현해서 모아놓은 것.

  • 프레임 워크를 활용하면 웹 서비스 개발에 있어서 모든 것들을 직접 개발할 필요 없이, 만들고자 하는 본질에 집중하여 개발 가능
  • 대규모 프로젝트에서 개발 일관성 향상, 유지보수 용이
  • 소프트웨어의 생산성과 품질을 높일 수 있음
    • Library란? 라이브러리는 단순 활용 가능한 도구들의 집합을 의미 개발자가 만든 클래스에서 호출해 사용하며, 클래스들의 나열로 필요한 클래스를 불러서 사용하는 방식을 취함

Library vs Framework

  • 라이브러리와 프레임워크의 차이는 제어 흐름에 대한 주도성이 어디에 있는가에 달려있음
  • 프레임워크에는 분명한 제어의 역전 개념이 적용
    • 제어의 역전 어떤 일을 하도록 만들어진 프레임워크에 제어의 권한을 넘김으로써 클라이언트(개발자)가 신경 써야 할 것을 줄이는 전략. 프레임워크의 event, delegate에 클라이언트의 메소드를 등록⇒ 호출
  • 프레임워크는 전체적인 흐름을 스스로 쥐고 있으며, 사용자(개발자)는 그 안에서 필요한 코드를 짜 넣는 반면, 라이브러리는 사용자(개발자)가 전체적인 흐름을 만들며 라이브러리를 가져다 쓰는 것
    • 동작하는 중에 필요한 기능이 있을 때 메소드를 능동적으로 사용 ⇒ 라이브러리
    • 미리 만들어진 메소드가 클라이언트 코드를 호출하는 것 ⇒ 프레임워크
  • 쉬운 예시
    • 망치, 톱, 삽 = 라이브러리
    • 자동차, 비행기, 배 = 프레임워크

Django

  • Python으로 작성된 프레임워크
    • 파이썬이라는 언어의 강력함과 거대한 커뮤니티
  • 수많은 여러 유용한 기능
    • 보안, 관리자 기능 등
  • 검증된 웹 프레임워크
    • 화해, Toss, 두나무, 당근마켓, 요기요 등 많은 서비스들이 사용

Django의 설계 철학

  • 표현과 로직(view)을 분리
    • 템플릿 시스템은 표현을 제어하는 도구이자 표현에 관련된 로직일 뿐,
      이러한 기본 목표를 넘어서는 기능을 지원하지 말아야 함
  • 중복을 배제
    • DRY(Don’t Repeat Yourself) 원칙
      • 소스 코드에서 동일한 코드를 반복하지 말자는 의미
      • 동일한 코드가 반복된다는 것은 잠재적인 버그의 위협을 증가시키고, 수정 유지보수가 어려워진다는 것을 의미

MVT 소프트웨어 디자인 패턴

  • MVC 패턴을 기반으로한 Django의 디자인 패턴 MVC패턴 알아보기

    • Model : 데이터베이스에서 데이터를 제공하는 역할

    • View : Model - Template 중간 처리 및 응답 반환 (MVC Controller 역할)

    • Template : 화면 관련 (MVC View 역할)

점프 투 파이썬

예제로 배우는 파이썬 프로그래밍 - Django 소개

profile
💎 Daniel LEE | SSAFY 8th

0개의 댓글