Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ubinquitous : DDD 03 ~ 05 #9

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions 1. 도메인 주도 개발 시작하기/03 ~ 05/Ubinquitous.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<a href="https://velog.io/@ubin_ing/%EC%95%A0%EA%B7%B8%EB%A6%AC%EA%B1%B0%ED%8A%B8%EC%97%90-%EB%8C%80%ED%95%B4-%EA%B3%B5%EB%B6%80%ED%95%B4%EB%B3%B4%EC%9E%90">링크</a>

1. 애그리거트가 필요한 이유는 무엇인가?
2. 애그리거트의 특징을 두 가지 이상 서술하시오.
3. 모든 객체가 일관된 상태를 유지하려면 전체를 관리할 주체가 필요한데, 이를 무엇이라 명칭하는가?
4. ID를 이용해 애그리거트를 참조했을 때 문제점은?
5. N+1 조회 문제를 해결하려면?

---

1. 복잡한 도메인을 이해하기 위해 관리하기 쉬운 단위로 만들기 위함
2.

- 관련된 모델을 하나로 모았기에 한 애그리거트에 속한 객체는 라이프 사이클을 갖는다.
- 한 애그리거트는 다른 애그리거트에 속하지 않는다. 즉, 경계를 가진다.
- 도메인 규칙을 제대로 이해할수록 애그리거트의 실제 크기는 줄어든다.

3. 애그리거트 루트
4.

- 편한 탐색 오용
- 성능에 대한 고민
- 확장 어려움

5. 조회 전용 별도 DAO를 만들고 조인을 해야함