profile
내일의 코드는 더 안전하고 깔끔하게
post-thumbnail

도메인 주도 개발 시작하기 (8) - 애그리거트 트랜잭션 관리

개념적으로 동일한 애그리거트지만 물리적으로 서로 다른 래그리거트 객체를 사용한다. 서로의 애그리거트 객체에 영향을 주지 않는다.두 스레드는 각각 트랜잭션을 커밋할 때 수정한 내용을 DB에 반영한다. 이 순서의 문제점은 운영자는 기존 배송지 정보를 이용해서 배송 상태로

2022년 12월 11일
·
0개의 댓글
·
post-thumbnail

도메인 주도 개발 시작하기 (7) - 도메인 서비스

7.1 여러 애그리거트가 필요한 기능 > - 한 애그리거트로 기능을 구현할 수 없을 때 주의할 점 한 애그리거트에 넣기 애매한 도메인 기능을 특정 애그리거트에 구현하기 되면 책임 범윌르 넘엇는 기능을 구현하게 된다. 해결 방법 도메인 기능을 별도 서비스로 구현 7

2022년 12월 11일
·
0개의 댓글
·
post-thumbnail

도메인 주도 개발 시작하기 (6) - 응용 서비스와 표현 영역

도메인 영역을 구현을 잘 한다고 소포트웨어 구현이 끝나는 것은 아니다.도메인이 제 기능을 하려면 사용자와 도메인을 연결해 주는 매개체가 필요하다.사용자의 요청을 해석한다.요청을 받은 표현 영역은 URL, 요청 파라미터, 쿠키, 헤더 등을 이용해서 사용자가 실행하고 싶은

2022년 12월 11일
·
0개의 댓글
·

도메인 주도 개발 시작하기 (5) - 스프링 데이터 JPA를 이용한 조회 기능

CQRS는 명령 모델과 조회 모델을 분리하는 패턴이다.상태를 변경하는 기능을 구현할 때 사용도메인 모델은 명령 모델로 주로 사용데이터를 조회하는 기능을 구현할 때 사용검색 조건이 고정되어 있고 단순하면 특정 조건으로 조회하는 기능을 만들 수 있다.다양한 조건으로 조합해

2022년 12월 9일
·
0개의 댓글
·
post-thumbnail

도메인 주도 개발 시작하기 (4) - 레포지터리와 모델 구현

레포지터리 인터페이스는 애그리거트와 같이 도메인 영역에 속하고, 레포지터리를 구현한 클래스는 인프라스트럭처 영역에 속한다.레포지터리 구현 클래스를 domain.impl과 같은 패키지에 위치시킬 수 있지만 인터페이스와 구현체를 분리하기 위한 타협안 같은 것일 뿐 좋은 설

2022년 12월 7일
·
0개의 댓글
·
post-thumbnail

도메인 주도 개발 시작하기 (3) - 애그리거트

상위 수준에서 모델을 정리했을 때의 도메인 모델들이다. 상위 수준에서 모델을 정리하기 위해선 도메인 전문가와 많은 대화를 나눠야 상위 수준에서 모델 간의 관계가 이해가 된다.많은 테이블을 한 장의 ERD에서 표현을 하고 테이블 간의 관계를 파악하느라 큰 틀에서 데이터

2022년 12월 6일
·
0개의 댓글
·
post-thumbnail

도메인 주도 개발 시작하기 (2) - 아키텍처 개요

2.1 네 개의 영역 아키텍처를 설계할 때 표현, 응용, 도메인, 인프라스트럭처로 4가지 영역이 보통 출현한다. 표현 영역: 사용자의 요청을 받아 응용 영역에 전달한다. 응용 영역의 처리 결과를 다시 사용자에게 보여준다. 응용 영역:

2022년 12월 5일
·
0개의 댓글
·

도메인 주도 개발 시작하기 (1) - 도메인 모델 시작하기

1.1 도메인이란? 책을 사기 위한 온라인 서점을 구현해야될 소프트웨어라고 생각을 해본다. 온라인 서점은 상품 조회, 구매, 결제, 배송 추적 등의 기능을 제공한다. 이때 온라인 서점은 소프트웨어로 해겨라고자 하는 문제 영역, 즉 도메인에 해당한다. 1.1.1 하위

2022년 11월 28일
·
0개의 댓글
·
post-thumbnail

React 처럼 사고하기

react처럼 사고하는 방법을 배워보자.

2022년 11월 23일
·
0개의 댓글
·