kkkkkkkkkkkk
kkkkk
kkkkkkkkkkkk
전체 방문자
오늘
어제
  • 분류 전체보기
    • CS & OS
    • Algorithms
    • Laguage
    • Book
      • 객체지향의 사실과 오해
      • Effective Java
      • Spring boot 와 AWS로 혼자 구현하는 ..
      • 도메인 주도 계발 시작하기
    • DB
    • Spring
    • Spring Boot
    • JPA
    • Git
    • Clean Code
    • HTTP

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 객체지향 프로그래밍
  • 결합도
  • 책임
  • 설계 원칙
  • 응집도
  • 역할

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
kkkkkkkkkkkk

kkkkk

아키텍처 개요
Book/도메인 주도 계발 시작하기

아키텍처 개요

2022. 12. 21. 13:35

2.1 네개의 영역

스프링 MVC 프레임워크가 표현 영역을 위한 기술에 해당한다.

 

 

  • 표현 영역은 사용자의 요청을 해석해서 응용 서비스에 전달하고 응용 서비스의 실행 결과를 사용자가 이해할수 있는 형식으로 변환하여 응답한다.
  • 응용 서비스는 로직을 직접 수행하기보다는 도메인 모델에 로직 수행을 위임한다.
    • 핵심 로직은 도메인 모델에서 구현
    •  

2.2 계층 구조 아키텍처

  • 계층 구조의 특성은 상위 계층에서 하위 계층으로의 의존만 존재하고 하위 계층은 상위 계층에 의존하지 않는다.
    • 단방향 의존
  • 인프라스트럭처에 의존하면 테스트 어려움과 기능 확장의 어려움이라는 2가지 문제가 발생한다.
    • 이러한 문제점은 DIP로 해결한다.

 

DIP

  • 저수준 모듈이 고수준 모듈에 의존하게 되는 것

 

2.4 도메인 영역의 주요 구성요소

요소 설명

엔티티 고유의 식별자를 갖는 객체로 자신의 라이프 사이클을 갖는다. 도메인의 고유한 개념을 표현하고 데이터를 포함하며 해당 데이터와 관련된 기능을 함께 제공한다.
밸류 고유의 식별자를 갖지 않는 객체로 주로 개념적으로 하나인 값을 표현할 때 사용된다.
애그리거트 연관된 엔티티와 밸류 객체를 개념적으로 하나로 묶은 것이다.
리포지터리 도메인 모델의 영속성을 처리한다.
도메인 서비스 특정 엔티티에 속하지 않은 도메인 로직을 제공한다.

큰 프로젝트에서 엔티티와 밸류 값들이 많아 지며 수 많은 애그리거트가 생겨난다.

애그리거트를 사용하면 객체 군집 단위로 모델을 바라볼 수 있게 되며 도메인 모델을 이해하고 구현하게 되며 이를 통해 큰 틀에서 도메인 모델을 관리할 수 있다.

 

요청 처리 흐름

'Book > 도메인 주도 계발 시작하기' 카테고리의 다른 글

애그리거트 트랜잭션 관리  (1) 2022.12.28
도메인 서비스  (0) 2022.12.28
스프링 데이터 JPA를 이용한 조회 기능  (0) 2022.12.26
응용 서비스와 표현 영역  (0) 2022.12.26
리포지터리와 모델 구현  (0) 2022.12.22
애그리거트  (0) 2022.12.21
도메인 모델 시작하기  (0) 2022.12.20
    'Book/도메인 주도 계발 시작하기' 카테고리의 다른 글
    • 응용 서비스와 표현 영역
    • 리포지터리와 모델 구현
    • 애그리거트
    • 도메인 모델 시작하기
    kkkkkkkkkkkk
    kkkkkkkkkkkk

    티스토리툴바