일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 반버논
- docker
- ddd
- spring-web
- MSA
- IDDD
- Pay
- springboot
- zuul
- 개발자
- spring6
- 애그리거트
- spring caching
- Conference
- kakao
- MongoDB
- Spring
- ifkakao
- armeria
- mongo
- 바운디드컨텍스트
- 값객체
- springboot3
- webframework
- springcloud
- java17
- spring scheduler
- Kotlin
- 신입
- Redis
- Today
- Total
목록2022/03 (2)
Easy Understanding
DDD의 가장 큰 장점 중 하나는 특정 아키텍처의 사용을 요구하지 않는다는 점이라고 한다. 하지만 책을 읽고 공부를 하다보면, 사실상 DDD에서 선택할 수 있는 괜찮은 아키텍처는 결국은 몇개 안 된다. 가장 간단한 것부터 순서대로 정리해 볼 것이다. 1. Layered Architecture 레이어드 아키텍처는 패턴계에서는 할아버지 같은 존재다. 이름 그대로 프로그램 내에서 계층을 나누는 설계 방식이다. 스프링의 예시가 가장 대표적이다. Controller - Service - Domain - Repository 위와 같은 개발 방식은 레이어드 아키텍처의 대표적인 예시다. 의존의 방향성은 오로지 위에서 아래로만 내려간다. public class UserController{ @Autowired privat..
이전까지는 DDD의 도메인 / 컨텍스트를 어떻게 클래스로 구현하는지 정리했다면, 이번에는 이런 도메인 객체들을 이용하는 방법과 도움이 되는 요소들에 대해서 간단하게 정리하려고 한다. 여러 도메인 로직을 엮거나 변환하는 등 도메인 로직을 조작하는데 활용하는 '도메인 서비스' 실제 사용자의 유스케이스, 유저 인터페이스 로직을 구현하는 '어플리케이션 서비스' new로 객체를 생성하지 않고 대리 생성을 담당하는 메서드인 '팩토리' 그리고 이런 것들을 어떻게 자바 '패키지'로 구분하는지 에 대해서 정리해보았다. 이전에는 애그리거트 내부에서 도메인 로직을 구현했으니, 이번에는 위의 4가지 방법들을 이용해서 도메인 로직을 외부에 제공하는지까지 확인하게 될 것이다. 1. 도메인 서비스 DDD의 Service는 스프링에..