일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- DDD
- 기술면접
- 알고리즘
- 알고리즘분석
- 인프런김영한
- react
- 혼공SQL
- 인덱스
- mysql
- 자바스터디
- aop
- AWS RDS
- 이펙티브자바
- 스프링부트와AWS로혼자구현하는웹서비스
- 인프런백기선
- vue.js
- AWS
- jpa
- 자료구조
- 이펙티브 자바
- 네트워크
- java
- 자바
- 자바예외
- SQL쿡북
- CleanCode
- 도메인 주도 개발 시작하기
- MariaDB
- 클린코드
- 이팩티브 자바
- Today
- Total
목록애그리거트 (2)
기록이 힘이다.
애그리거트 도메인 객체 모델이 복잡해지면 개별 구성요소 위주로 모델을 이해하게 되고 전반적인 구조나 큰 수준에서 도메인 간의 관계를 파악하기 어려워진다. 주요 도메인 요소 간의 관계를 파악하기 어렵다는 것은 코드를 변경하고 확장하는 것이 어려워진다는 것을 의미한다. 복잡한 도메인을 이해하고 관리하기 쉬운 단위로 만들려면 상위 수준에서 모델을 조망할 수 있는 방법이 필요한데 , 그 방법이 바로 애그리거트다. 애그리거트는 모델을 이해하는 데 도움을 줄 뿐만 아니라 일관성을 관리하는 기준도 된다. 속한 구성요소는 대부분 함께 생성하고 함께 제거한다. 한 애그리거트에 속한 객체는 다른 애그리거트에 속하지 않는다. 처음 도메인 모델을 만들기 시작하면 큰 애그리거트로 보이는 것들이 많지만, 도메인에 대한 경험이 생..
아키텍처 도메인 영역, 응용 영역, 표현 영역은 구현 기술을 사용한 코드를 직접 만들지 않는다. 대신 인프라스트럭처 영역에서 제공하는 기능을 사용해서 필요한 기능을 개발한다. 인트라 스트럭처에 의존하면 '테스트 어려움'과 '기능 확정의 어려움'이라는 두 가지 문제가 발생한다. 이 두 문제를 해소 할 수 있는 방법은 'DIP'에 있다. DIP 고수준 모듈이 저수준 모듈을 사용하면 앞서 계층 구조 아키텍처에서 언급했던 두 가지 문제, 즉 구현 변경과 테스트가 어렵다는 문제가 발생한다. DIP는 이 문제를 해결하기 위해 저수준 모듈이 고수준 모듈에 의존하도록 바꾼다. 비밀은 추상화한 인터페이스에 있다. public interface RuleDiscounter{ Money applyRules(Customer c..