--- id: software-architecture title: "Software Architecture" category: "Architecture" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["Software Architecture", "소프트웨어 아키텍처", "SW 아키텍처"] duplicate_of: "" source_trust_level: "B" confidence_score: 0.80 created_at: 2026-07-11 updated_at: 2026-07-11 review_reason: "깨진 링크 다발 해소용 AI 생성 초안 — 원출처 리서치로 검증·보강 권장" merge_history: [] tags: ["architecture","design"] raw_sources: [] applied_in: [] github_commit: "" --- # [[Software Architecture]] ## 🎯 한 줄 통찰 (One-line insight) 아키텍처는 "바꾸기 비싼 결정들의 집합" — 코드가 아니라 구조·경계·의존 방향에 대한 결정이며, 좋은 아키텍처는 결정을 미룰 수 있게 해준다. ## 🧠 핵심 개념 (Core concepts) - **관심사 분리** — 시스템을 책임 단위로 나누고 경계를 명시한다. 경계가 흐리면 변경이 전염된다. - **의존 방향 통제** — 안정적인 것(정책·도메인)이 불안정한 것(UI·DB·프레임워크)에 의존하지 않게 한다. - **트레이드오프의 학문** — 모든 아키텍처 결정은 무언가를 얻고 무언가를 포기한다. "정답"이 아니라 "맥락에 맞는 선택"이 있을 뿐. - **아키텍처 스타일** — 계층형, 헥사고날, 마이크로서비스, 이벤트 기반 등은 반복 검증된 구조 패턴의 이름이다. ## 🧩 추출된 패턴 (Extracted patterns) - 결정을 기록하지 않은 아키텍처는 전승되지 않는다 — 중요한 구조 결정은 [[ADR]] 로 남기는 것이 실무 표준. ## 🔗 Knowledge Connections - **Related Topics:** [[ADR]] · [[CQRS]] · [[Observability]]