[ Django ] Spring과 대응되는 구성 요소 비교하기

6eom9eun·2024년 3월 7일

Django

목록 보기
6/6
DangoSpring
MTV 패턴 (Model-View-Template)MVC 패턴 (Model-View-Controller)
Model
데이터베이스와 상호 작용하기 위한 파이썬 클래스로, 데이터베이스의 테이블을 나타냄
Domain
애플리케이션에서 다루는 개념이나 엔티티를 나타냅니다. 비즈니스 로직이 포함될 수 있으며, 데이터베이스와의 상호 작용을 담당할 수 있다.
View
클라이언트의 HTTP 요청을 받아 해당 요청에 대한 응답을 생성하는 역할을 합니다.
Controller
클라이언트의 HTTP 요청을 받아 해당 요청에 대한 처리를 수행하고 적절한 응답을 생성
From / Serializer
폼(Form): 웹 폼과 관련된 로직을 캡슐화하고, 사용자로부터 데이터를 입력받아 처리하는 역할을 합니다.
시리얼라이저(Serializer): 모델 인스턴스를 JSON 또는 XML과 같은 직렬화된 형식으로 변환하거나, 반대로 직렬화된 데이터를 모델 인스턴스로 역직렬화하는 데 사용됩니다.
DTO
데이터 전송 객체로, 서비스 계층과 컨트롤러 간의 데이터 전달을 위해 사용됩니다.
ORM
데이터베이스와 상호 작용하기 위한 인터페이스로, 모델 클래스와 데이터베이스 테이블을 매핑하고, 데이터베이스 쿼리를 쉽게 생성하고 실행할 수 있습니다.
Repository
데이터베이스나 다른 영구 저장소와의 상호 작용을 추상화하는 인터페이스입니다.
Model / View
모델이나 뷰에서 비즈니스 로직을 구현하며, 모델 메서드나 뷰 함수 내에서 해당 로직을 처리합니다
Service
비즈니스 로직을 구현하고, 여러 개의 리포지토리를 조합하여 트랜잭션을 관리하고, 도메인 객체 간의 복잡한 연산이나 로직을 처리합니다.
Middleware
요청 및 응답 처리에 대한 미들웨어를 사용하여 애플리케이션의 동작을 제어하거나 수정할 수 있습니다.
Aspect
플리케이션에서 공통 관심 사항(Cross-Cutting Concerns)을 모듈화하고, 중복 코드를 제거하며, 코드를 재사용할 수 있습니다. 예를 들어 로깅, 트랜잭션 관리 등의 부가적인 기능을 제공합니다.
템플릿 엔진
HTML과 같은 마크업 언어와 파이썬 코드를 조합하여 동적인 웹 페이지를 생성합니다.
뷰 템플릿
동적인 HTML 컨텐츠를 생성합니다. Thymeleaf, JSP(JavaServer Pages) 등의 템플릿 엔진을 사용할 수 있습니다.
URL 패턴
urls.py 파일을 사용하여 URL 패턴을 정의하고, 각 URL 패턴에 대응하는 뷰 함수를 연결합니다.
URL 매핑
@RequestMapping 어노테이션 또는 XML 설정을 통해 URL 매핑을 정의합니다. 클라이언트의 요청을 특정한 컨트롤러 메서드에 매핑합니다.
profile
Dev learnnnnnN.......

0개의 댓글