[Spring-입문] 웹 애플리케이션 계층 구조

DANI·2023년 11월 14일

Spring[김영한T]

목록 보기
2/31
post-thumbnail

💻 웹 애플리케이션 계층 구조

🔍 Controller

웹 MVC의 컨트롤러 역할. API를 만들거나 할 때 사용됨.
HTTP 요청과 요청된 정보를 체크하며, 인증을 담당하며 view를 매핑해줌.

🔍 Service

비즈니스 도메인 객체를 가지고 핵심 비즈니스 로직이 동작하도록 구현,
ex) 회원은 중복 가입 불가

🔍 Domain

비즈니스 도메인 객체(예) 회원, 주문, 쿠폰 등등)은 내가 개발하고자 하는 영역을 분석하고, 그 분석의 결과로 도출된 모델이라고 할 수 있다. 데이터베이스에 저장하고 관리되며
실제 DB 테이블 정보를 가지는 하나의 Entity 클래스를 생성하고 해당 Entity를 컨트롤한다.

- Entity

  • 식별자를 가진다.
  • 식별자 이외의 데이터가 변경이 되어도 그 객체가 다른 객체가 되는것이 아니다. 즉, 대부분 가변(Mutable)이다.

- Value Object(vo)

  • 식별자를 가지지 않고 값 그 자체이다.
  • value같은 경우에는 한 데이터가 변경되면 아예 다른 객체가 되어버린다. 즉, 불변(Immutable)이어야만 한다.

🔍 Repository

데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리
실제 데이터베이스에 쿼리문을 실행하는 로직 담당




참고

0개의 댓글