diff --git "a/1. \353\217\204\353\251\224\354\235\270 \354\243\274\353\217\204 \352\260\234\353\260\234 \354\213\234\354\236\221\355\225\230\352\270\260/03 ~ 05/Ubinquitous.md" "b/1. \353\217\204\353\251\224\354\235\270 \354\243\274\353\217\204 \352\260\234\353\260\234 \354\213\234\354\236\221\355\225\230\352\270\260/03 ~ 05/Ubinquitous.md" new file mode 100644 index 0000000..4c9703e --- /dev/null +++ "b/1. \353\217\204\353\251\224\354\235\270 \354\243\274\353\217\204 \352\260\234\353\260\234 \354\213\234\354\236\221\355\225\230\352\270\260/03 ~ 05/Ubinquitous.md" @@ -0,0 +1,25 @@ +링크 + +1. 애그리거트가 필요한 이유는 무엇인가? +2. 애그리거트의 특징을 두 가지 이상 서술하시오. +3. 모든 객체가 일관된 상태를 유지하려면 전체를 관리할 주체가 필요한데, 이를 무엇이라 명칭하는가? +4. ID를 이용해 애그리거트를 참조했을 때 문제점은? +5. N+1 조회 문제를 해결하려면? + +--- + +1. 복잡한 도메인을 이해하기 위해 관리하기 쉬운 단위로 만들기 위함 +2. + +- 관련된 모델을 하나로 모았기에 한 애그리거트에 속한 객체는 라이프 사이클을 갖는다. +- 한 애그리거트는 다른 애그리거트에 속하지 않는다. 즉, 경계를 가진다. +- 도메인 규칙을 제대로 이해할수록 애그리거트의 실제 크기는 줄어든다. + +3. 애그리거트 루트 +4. + +- 편한 탐색 오용 +- 성능에 대한 고민 +- 확장 어려움 + +5. 조회 전용 별도 DAO를 만들고 조인을 해야함