Aggregate + Reverse Reference — 매니페스트 members + 읽기시점 역참조
"사진은 서랍에 그대로 두고, 앨범은 사진 이름만 적어둔다" 는 방법이에요. 여러 서류(사진)를 하나의 거래(앨범)로 묶는데, 서류를 옮기지 않고 앨범이 이름표 목록만 가져요. 그리고 서류를 볼 때는 거꾸로 "너 어느 앨범에 적혀 있지?" 하고 찾아서 붙여줘요.
비유: 사진과 앨범 목록 📸
- 사진(서류·문서) = 계약서·영수증·보고서 한 장 한 장. 서랍 속에 제자리 그대로 있어요.
- 앨범(거래=Deal) = 사진을 묶는 큰 묶음. 그런데 앨범은 사진을 품고 있지 않아요. 대신 "내 사진: 3번, 7번, 9번" 이라고 이름표 목록만 적어둬요.
- 이름표 목록(members) = 앨범이 가진 "내 것들" 리스트. 이게 진짜 주인이에요.
핵심 규칙: 묶는 쪽(앨범)이 목록을 쥔다. 사진은 자기가 어느 앨범 소속인지 몰라도 돼요.
왜 이렇게 해요? (사진을 마음대로 옮겨도 안 깨져요)
사진에 "너는 A앨범 거야" 라고 직접 적어두면, 사진을 다른 서랍으로 옮기거나 여러 앨범에 같이 넣고 싶을 때 곤란해져요. 그래서 사진은 건드리지 않고, 앨범 쪽 목록만 바꿔요. 그러면 —
- 사진을 다른 곳으로 옮겨도 목록의 이름표는 그대로 → 안 깨져요.
- 사진 하나를 여러 앨범 목록에 동시에 적을 수도 있어요.
- 같은 이름을 두 번 적어도 한 번만 세요 (중복 정리).
볼 때는 거꾸로 연결해요 (역참조)
문제 하나. 사진만 딱 보면 "얘 어느 앨범 거지?" 를 몰라요. 사진엔 안 적혀 있으니까요. 그래서 화면에 보여줄 때 모든 앨범 목록을 쭉 훑어서, 거꾸로 짝을 지어줘요.
이 거꾸로 표는 저장하지 않아요. 화면을 볼 때마다 그때그때 새로 만들어요. 그래야 목록이 바뀌어도 항상 최신 이거든요.
앨범도 자기 상태가 따로 있어요
사진 한 장 한 장도 "작성중 / 서명완료" 같은 자기 상태가 있고, 앨범도 "진행중 / 정산완료" 같은 자기 상태가 따로 있어요. 앨범 상태는 보통 안에 든 사진들이 다 끝났나를 모아서 정해요 (다 끝나면 앨범도 "정산완료"). 둘은 서로 다른 신호등이에요.
핵심만 다시
- 앨범(거래)이 이름표 목록을 쥐고, 사진(서류)은 제자리에 그대로 둬요.
- 그래서 사진을 옮기거나 여러 앨범에 같이 넣어도 링크가 안 깨져요.
- 화면에 보여줄 땐 거꾸로 "이 사진 어느 앨범 거?" 를 그때그때 찾아줘요. 없으면 미분류.
- 사진과 앨범은 각자 자기 상태가 있고, 앨범 상태는 보통 사진들의 합이에요.
더 자세한 진짜 코드·설계는 옆의 개요 / Variants / Apply Recipe 탭에서 볼 수 있어요.