Files
2nd/10_Wiki/Topics/Domain_Programming/Topic_Programming/Navigation_Pattern.md
T
Antigravity Agent c24165b8bc refactor(topics): 멀티 에이전트용 지식 재편 — _Common(공통 기본기) + Domain_* 구조
에이전트 8종(대화형/프로그래머 C·S/디자이너/설계자/기획자/QA/PD/PM)에게
[공통 기본 능력 + 롤별 Specialty] 2층으로 지식을 주입하기 위한 재분류.
문서 내용·포맷은 무수정, 폴더 이동만 (6,372개 문서 수 보존 확인).

- Topic_Programming → Domain_Programming (내부 구조 보존)
- Topic_Graphic → Domain_Design
- Topic_Business → Domain_Product
- Topic_General → Domain_General
- _Common 신설: Math(구 Topic_Math_Specialty), Reasoning(구 General/From_Thinking & Reasoning),
  Reasoning_Creativity(구 General/From_창의성), Communication(Poetic_Blog_Writing + From_writing)
- 타 도메인의 From_* 폴더는 유지 (출처 표기일 뿐, 이미 도메인에 맞게 분류된 문서)
- 빈 폴더 정리 (memory/procedures)
- 에이전트→폴더 매핑은 workspace의 .astra/agent-knowledge-map.json (9개 에이전트)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 11:05:56 +09:00

3.0 KiB

id, title, category, status, verification_status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, created_at, updated_at, review_reason, merge_history, tags, raw_sources, applied_in, github_commit
id title category status verification_status canonical_id aliases duplicate_of source_trust_level confidence_score created_at updated_at review_reason merge_history tags raw_sources applied_in github_commit
pattern-navigation Navigation Pattern Pattern_Mobile draft conceptual
navigation
내비게이션 패턴
routing
deep link
navigation stack
A 0.83 2026-06-13 2026-06-13
pattern
mobile
navigation
routing
platform-independent
일반 모바일/프런트엔드 공학 지식

Navigation Pattern

🎯 한 줄 통찰 (One-line insight)

내비게이션은 "화면 간 이동과 스택/상태를 관리" 하는 패턴으로, 경로를 선언적·직렬화 가능하게 두고 딥링크/뒤로가기/상태 복원을 1급으로 다뤄야 한다.

🧠 핵심 개념 (Core concepts)

  1. 선언적 라우트: URL/route 로 화면을 표현(직렬화 가능).
  2. 스택/탭/드로어: 내비 구조 유형.
  3. 딥링크: 외부에서 특정 화면 직접 진입.
  4. 파라미터 전달: 라우트 인자 + 타입 안전.
  5. 상태 복원: 프로세스 죽어도 내비 상태 복구.

📖 세부 내용 (Details · 패턴 명세)

  • Problem (언제 쓰나): 다화면 앱의 이동/히스토리/딥링크 관리.
  • 사용 조건: 라우트 정의; 화면 식별자; 인자 직렬화.
  • 장점: 일관된 이동, 딥링크, 뒤로가기, 테스트성.
  • 단점: 설정 복잡, 깊은 스택 메모리, 타입 안전 관리.
  • 대안: 단일 화면(소규모), 조건부 렌더(상태 기반), 코디네이터 패턴.
  • 실패 사례: 객체를 라우트 인자로 직접(직렬화 불가/딥링크 깨짐); 스택 누수(화면 안 떼어냄); 뒤로가기 상태 불일치; 딥링크 시 부모 스택 없어 길 잃음.

💻 코드 패턴 (Code patterns)

routes = { '/home': Home, '/item/:id': ItemDetail }   # 선언적 + 직렬화 가능 인자
navigate('/item/42')           # id 만 전달(객체 X)
deepLink('myapp://item/42') -> rebuild stack [Home, ItemDetail]
restore(savedNavState)         # 프로세스 복원

⚖️ 모순 및 업데이트 (Contradictions & updates)

"상태로 화면 전환" vs "라우터" — 작은 앱은 상태 조건부가 단순하나, 딥링크/히스토리가 필요하면 선언적 라우터가 필수.

🛠️ 적용 사례 (Applied in summary)

일반 모바일/SPA. (ConnectAI 는 패널 기반이라 직접 사례 없음 — 화면 식별/복원 원리는 동일.)

🔗 지식 그래프 (Knowledge Graph)

📚 출처 (Sources)

  • [S1] 일반 내비게이션/라우팅 지식

📝 변경 이력 (Change history)

  • 2026-06-13: 프로젝트 독립 패턴 카드 작성.