--- category: Unified tags: [auto-consolidated, technical-documentation] title: [[Design System Architecture|DesignSystem Architecture]] last_updated: 2026-05-02 --- # [[Design System Architecture|DesignSystem Architecture]] ## πŸ“Œ Brief Summary λ””μžμΈ μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜λŠ” μž¬μ‚¬μš© κ°€λŠ₯ν•œ UI μ»΄ν¬λ„ŒνŠΈ, λ””μžμΈ 토큰(색상, νƒ€μ΄ν¬κ·Έλž˜ν”Ό, 간격 λ“±), 그리고 이듀을 μ‘°ν•©ν•˜λŠ” κ·œμΉ™λ“€μ˜ μ§‘ν•©μœΌλ‘œ, μΌκ΄€λ˜κ³  μ ‘κ·Όμ„± 높은 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹ μ†ν•˜κ²Œ ꡬ좕할 수 있게 ν•΄μ£ΌλŠ” ν”„λ ˆμž„μ›Œν¬μž…λ‹ˆλ‹€ [1, 2]. μ΄λŠ” μ—”μ§€λ‹ˆμ–΄, λ””μžμ΄λ„ˆ, μ œν’ˆ κ΄€λ¦¬μž κ°„μ˜ 곡톡 μ–Έμ–΄λ‘œ κΈ°λŠ₯ν•˜λ©° νŒ€μ˜ 생산성을 λ†’μž…λ‹ˆλ‹€ [3, 4]. ν˜„λŒ€ ν”„λ‘ νŠΈμ—”λ“œ ν™˜κ²½μ—μ„œλŠ” λŸ°νƒ€μž„ μ„±λŠ₯ μ΅œμ ν™”, 닀계측 λ””μžμΈ 토큰 μ‹œμŠ€ν…œ, 그리고 λͺ¨λ“ˆν™”λœ μ»΄ν¬λ„ŒνŠΈ μ•„ν‚€ν…μ²˜μ˜ μœ΅ν•©μ„ 톡해 ν™•μž₯ κ°€λŠ₯ν•˜κ³  μœ μ§€λ³΄μˆ˜κ°€ μ‰¬μš΄ λŒ€κ·œλͺ¨ UI μ‹œμŠ€ν…œμ„ κ΅¬ν˜„ν•˜λŠ” 것이 ν•΅μ‹¬μž…λ‹ˆλ‹€ [5]. --- > "μ½”λ“œλ₯Ό ν•œ 쀄 적기 전에 μ‹œμŠ€ν…œμ˜ '영혼(Core [[Logic|Logic]])'κ³Ό '윑체(Infrastructure)'κ°€ μ–΄λ–»κ²Œ λŒ€ν™”ν• μ§€ 청사진을 그리고, λ³€ν™”μ˜ νŒŒλ„μ—λ„ λ¬΄λ„ˆμ§€μ§€ μ•ŠλŠ” μœ μ—°ν•œ 골격을 μ™„μ„±ν•˜λΌ" β€” μ†Œν”„νŠΈμ›¨μ–΄ μ‹œμŠ€ν…œμ˜ 전체 ꡬ쑰와 ꡬ성 μš”μ†Œ κ°„μ˜ 관계λ₯Ό μ •μ˜ν•˜μ—¬ μš”κ΅¬μ‚¬ν•­μ„ μΆ©μ‘±μ‹œν‚€κ³  지속 κ°€λŠ₯성을 ν™•λ³΄ν•˜λŠ” 고차원 섀계 곡정. ## πŸ“– Core Content * **λ””μžμΈ 토큰 μ‹œμŠ€ν…œ (Design Token Systems)** λ””μžμΈ μ‹œμŠ€ν…œμ˜ 근간을 μ΄λ£¨λŠ” λ””μžμΈ 토큰은 ν™•μž₯μ„±κ³Ό 일관성을 μœ„ν•΄ 3단계 계측 ꡬ쑰둜 κ΄€λ¦¬λ©λ‹ˆλ‹€ [2, 6]. * **μ›μ‹œ/κΈ°λ³Έ 토큰 (Primitive/Base Tokens):** ν—₯슀 μ½”λ“œλ‚˜ ν”½μ…€ λ‹¨μœ„μ™€ 같은 μ‹œμŠ€ν…œμ˜ 근본적인 μ›μ‹œ κ°’μž…λ‹ˆλ‹€ (예: `color.blue.500`) [7-9]. * **μ‹œλ§¨ν‹± 토큰 (Semantic Tokens):** λͺ©μ κ³Ό μ˜λ„λ₯Ό λ‚˜νƒ€λ‚΄λ©° κΈ°λ³Έ 토큰을 μ°Έμ‘°ν•©λ‹ˆλ‹€. λŸ°νƒ€μž„ ν™˜κ²½μ—μ„œ 닀크 λͺ¨λ“œ λ“± ν…Œλ§ˆ μŠ€μœ„μΉ­μ„ μ•ˆμ „ν•˜κ²Œ μ§€μ›ν•˜λŠ” 핡심 역할을 ν•©λ‹ˆλ‹€ (예: `color.primary`) [7-9]. * **μ»΄ν¬λ„ŒνŠΈ 토큰 (Component Tokens):** νŠΉμ • UI μ»΄ν¬λ„ŒνŠΈλ‚˜ λ³€ν˜•μ— μ’…μ†λ˜λŠ” ν† ν°μœΌλ‘œ, μ‹œλ§¨ν‹± 토큰을 μ°Έμ‘°ν•˜μ—¬ λ³΅μž‘ν•œ UI μƒνƒœλ₯Ό κ΄€λ¦¬ν•©λ‹ˆλ‹€ [7, 9]. * **μ»΄ν¬λ„ŒνŠΈ 라이브러리 μ•„ν‚€ν…μ²˜ νŒ¨ν„΄ (Component [[Architecture|Architecture]] Patterns)** * **μ•„ν† λ―Ή λ””μžμΈ ([[Atomic Design|Atomic Design]]):** UIλ₯Ό μ›μž(Atoms), λΆ„μž(Molecules), 유기체(Organisms), ν…œν”Œλ¦Ώ(Templates), νŽ˜μ΄μ§€(Pages) λ‹¨μœ„λ‘œ λΆ„ν•΄ν•˜μ—¬ μž¬μ‚¬μš©μ„±μ„ κ·ΉλŒ€ν™”ν•˜λŠ” λ©˜νƒˆ λͺ¨λΈμž…λ‹ˆλ‹€ [10, 11]. * **볡합 μ»΄ν¬λ„ŒνŠΈ ([[Compound Components|Compound Components]]):** νƒ­(Tabs)μ΄λ‚˜ μ•„μ½”λ””μ–Έ(Accordion) λ“±μ—μ„œ μ»΄ν¬λ„ŒνŠΈ κ°„ Contextλ₯Ό 톡해 μƒνƒœλ₯Ό μ•”μ‹œμ μœΌλ‘œ κ³΅μœ ν•˜μ—¬, κ³Όλ„ν•œ [[Prop Drilling|Prop Drilling]](Prop Soup)을 λ°©μ§€ν•˜κ³  μœ μ—°ν•œ λ ˆμ΄μ•„μ›ƒμ„ μ œκ³΅ν•©λ‹ˆλ‹€ [12-14]. * **ν—€λ“œλ¦¬μŠ€ UI ([[Headless Components|Headless Components]]):** μƒνƒœ 관리, μ ‘κ·Όμ„±(A11y) λ“± λΉ„μ¦ˆλ‹ˆμŠ€ 둜직만 μ œκ³΅ν•˜κ³  λ Œλ”λ§ ν˜•νƒœ(UI)λŠ” κ°œλ°œμžμ—κ²Œ λ§‘κΈ°λŠ” λ°©μ‹μœΌλ‘œ, [[Tailwind CSS|Tailwind CSS]]와 κ²°ν•©ν•˜μ—¬ κ³ λ„λ‘œ μ»€μŠ€ν„°λ§ˆμ΄μ§• κ°€λŠ₯ν•œ μ‹œμŠ€ν…œμ„ ꡬ좕할 λ•Œ μ ν•©ν•©λ‹ˆλ‹€ [15]. * **μ˜€λ²„λΌμ΄λ“œ νŒ¨ν„΄ ([[Overrides Pattern|Overrides Pattern]]):** Uber의 Base Web λ“±μ—μ„œ μ‚¬μš©λ˜λ©°, μ»΄ν¬λ„ŒνŠΈλ₯Ό κ΅¬μ„±ν•˜λŠ” μ„ΈλΆ€ ν•˜μœ„ μš”μ†Œμ— μƒˆλ‘œμš΄ μ†μ„±μ΄λ‚˜ μŠ€νƒ€μΌμ„ μ£Όμž…ν•˜κ±°λ‚˜ μ»΄ν¬λ„ŒνŠΈ 전체λ₯Ό ꡐ체할 수 μžˆλŠ” ꡬ쑰λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€ [16-18]. * **μŠ€νƒ€μΌλ§ νŒ¨λŸ¬λ‹€μž„ 비ꡐ ([[styled-components|styled-components]] vs Tailwind CSS)** * **Styled-Components ([[CSS-in-JS|CSS-in-JS]]):** μ»΄ν¬λ„ŒνŠΈ λ‹¨μœ„μ˜ κ°•ν•œ 응집λ ₯κ³Ό 동적 μŠ€νƒ€μΌλ§μ„ μ œκ³΅ν•˜μ§€λ§Œ, JavaScript 싀행에 λ”°λ₯Έ λŸ°νƒ€μž„ μ˜€λ²„ν—€λ“œκ°€ λ°œμƒν•©λ‹ˆλ‹€ [19, 20]. 특히 React Server Components (RSC ν™˜κ²½μ—μ„œλŠ” Context 접근이 λΆˆκ°€ν•˜λ―€λ‘œ [[Style Registry|Style Registry]] λ“± 뢀가적인 섀정이 ν•„μš”ν•˜λ©° ν•˜μ΄λ“œλ ˆμ΄μ…˜ 뢈일치 μœ„ν—˜μ΄ λ”°λ¦…λ‹ˆλ‹€ [21-23]. * **Tailwind CSS:** μœ ν‹Έλ¦¬ν‹° 퍼슀트 μ ‘κ·Όλ²•μœΌλ‘œ, μ΅œμ‹  v4 λ²„μ „μ—μ„œλŠ” `@theme` λ””λ ‰ν‹°λΈŒ 기반의 CSS-first μ•„ν‚€ν…μ²˜λ₯Ό λ„μž…ν•΄ λ””μžμΈ 토큰을 κΈ°λ³Έ CSS λ³€μˆ˜λ‘œ 직접 λ…ΈμΆœν•©λ‹ˆλ‹€ [24-26]. λŸ°νƒ€μž„ μ˜€λ²„ν—€λ“œκ°€ 0에 μˆ˜λ ΄ν•˜λŠ” 정적 CSSλ₯Ό μƒμ„±ν•˜μ—¬ TTI(Time to Interactive), INP(Interaction to Next Paint) λ“± [[Core Web Vitals|Core Web Vitals]] μ„±λŠ₯ κ°œμ„ μ— μ••λ„μ μœΌλ‘œ μœ λ¦¬ν•©λ‹ˆλ‹€ [20, 27-29]. * **λŒ€κ·œλͺ¨ ν”„λ‘ νŠΈμ—”λ“œ μ‹œμŠ€ν…œ ν™•μž₯ 및 κ±°λ²„λ„ŒμŠ€ ([[Scalability|Scalability]] & Governance)** * **[[Monorepo|Monorepo]] & FSD:** Turborepoλ‚˜ Nx 같은 λͺ¨λ…Έλ ˆν¬ ν™˜κ²½κ³Ό κ²°ν•©ν•˜μ—¬ [[Feature-Sliced Design|Feature-Sliced Design]] (FSD) 계측 ꡬ쑰λ₯Ό μ±„νƒν•˜λ©΄, μ œλ„€λ¦­ μ»΄ν¬λ„ŒνŠΈ(Shared)와 λΉ„μ¦ˆλ‹ˆμŠ€ ν”Όμ²˜(Features) κ°„μ˜ μ˜μ‘΄μ„±μ„ ν•œ λ°©ν–₯으둜 μ—„κ²©ν•˜κ²Œ ν†΅μ œν•  수 μžˆμŠ΅λ‹ˆλ‹€ [30-32]. * **μžλ™ν™” 및 κ΄€μΈ‘μ„± (Observability):** Uber의 uSpec처럼 AIλ₯Ό ν™œμš©ν•΄ [[Figma|Figma]]μ—μ„œ μ»΄ν¬λ„ŒνŠΈ μŠ€νŽ™μ„ μΆ”μΆœν•΄ 닀쀑 ν”Œλž«νΌ λ¬Έμ„œλ₯Ό μžλ™ν™”ν•˜κ±°λ‚˜, μ•± λ‚΄ Base μ»΄ν¬λ„ŒνŠΈ 채택λ₯ μ„ 결정둠적 방식(Deterministic Counter)으둜 μΈ‘μ •ν•˜μ—¬ μŠ€νƒ€μΌ 편차(Style drift)λ₯Ό λ°©μ§€ν•˜λŠ” λͺ¨λ‹ˆν„°λ§ μ‹œμŠ€ν…œμ„ κ΅¬μΆ•ν•˜λŠ” 것이 μ—”ν„°ν”„λΌμ΄μ¦ˆκΈ‰ κ΄€λ¦¬μ˜ ν•΅μ‹¬μž…λ‹ˆλ‹€ [33-38]. --- - **μΆ”μΆœλœ νŒ¨ν„΄:** "Hierarchical Decomposition and Interface-driven Interaction" β€” κ±°λŒ€ν•œ μš”κ΅¬μ‚¬ν•­μ„ 관리 κ°€λŠ₯ν•œ μž‘μ€ λͺ¨λ“ˆλ‘œ μͺΌκ°œκ³ , 각 λͺ¨λ“ˆ κ°„μ˜ μ†Œν†΅ 방식을 ν‘œμ€€ν™”λœ μΈν„°νŽ˜μ΄μŠ€λ‘œ μ •μ˜ν•˜μ—¬ 독립적인 개발과 ν™•μž₯이 κ°€λŠ₯ν•˜κ²Œ λ§Œλ“œλŠ” νŒ¨ν„΄. - **핡심 섀계 원칙:** - **Scalability:** μ‚¬μš©μžκ°€ λŠ˜μ–΄λ‚¨μ— 따라 μžμ›μ„ μœ μ—°ν•˜κ²Œ 늘릴 수 μžˆλŠ”κ°€? (Horizontal vs Vertical). - **Reliability:** νŠΉμ • λΆ€ν’ˆμ΄ κ³ μž₯ λ‚˜λ„ 전체 μ‹œμŠ€ν…œμ΄ λ©ˆμΆ”μ§€ μ•ŠλŠ”κ°€? (Fault Tolerance). - **Modularity:** κΈ°λŠ₯을 λ…λ¦½μ μœΌλ‘œ λ–Όμ–΄λ‚΄μ–΄ μž¬μ‚¬μš©ν•˜κ±°λ‚˜ ꡐ체할 수 μžˆλŠ”κ°€? - **Performance:** μ§€μ—° μ‹œκ°„(Latency)κ³Ό μ²˜λ¦¬λŸ‰(Throughput) μ‚¬μ΄μ˜ 졜적점 μ°ΎκΈ°. - **의의:** κ°œλ°œνŒ€ μ „μ²΄μ˜ 뢁극성 역할을 ν•˜λ©°, 초기 μ„€κ³„μ˜ 견고함이 ν–₯ν›„ 운영 λΉ„μš©μ˜ 90%λ₯Ό κ²°μ •μ§“λŠ” μ†Œν”„νŠΈμ›¨μ–΄ κ³΅ν•™μ˜ κ°€μž₯ 결정적인 단계. ## βš–οΈ Trade-offs & Caveats - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** λͺ¨λ“  것을 미리 μ™„λ²½ν•˜κ²Œ μ„€κ³„ν•˜λ €λ˜ 'λΉ… μ—…ν”„λŸ°νŠΈ λ””μžμΈ(BUFD)'μ—μ„œ λ²—μ–΄λ‚˜, μ΄μ œλŠ” 핡심 ꡬ쑰만 작고 λ‚˜λ¨Έμ§€λŠ” μ‹€ν–‰ν•˜λ©° μ§„ν™”μ‹œν‚€λŠ” '진화적 μ•„ν‚€ν…μ²˜(Evolutionary Architecture)'와 'λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€' 기반의 점진적 고도화가 μ£Όλ₯˜κ°€ 됨. - **μ •μ±… λ³€ν™”:** Antigravity ν”„λ‘œμ νŠΈλŠ” μ—μ΄μ „νŠΈ κ°„μ˜ 유기적 ν˜‘μ—…κ³Ό 지식 곡유λ₯Ό μœ„ν•΄, 각 λͺ¨λ“ˆμ΄ λ…λ¦½μ μ΄λ©΄μ„œλ„ κ°•λ ₯ν•˜κ²Œ μ—°κ²°λ˜λŠ” '이벀트 기반 λ§ˆμ΄ν¬λ‘œμ»€λ„' μ•„ν‚€ν…μ²˜λ₯Ό ν‘œμ€€ 섀계 μ§€μΉ¨μœΌλ‘œ μ€€μˆ˜ν•¨. ## πŸ”— Knowledge Connections - **Related Topics:** [[Design Tokens|Design Tokens]], Atomic Design, Compound Components, [[Tailwind CSS|Tailwind CSS]], Styled-Components, [[Feature-Sliced Design (FSD)|Feature-Sliced Design (FSD]] - **Projects/Contexts:** [[React Server Components (RSC)|React Server Components (RSC]], Uber Base Web, [[Shopify Polaris|Shopify Polaris]] - **Contradictions/Notes:** μ»΄ν¬λ„ŒνŠΈμ˜ μŠ€νƒ€μΌλ§ 방식에 μžˆμ–΄, Styled-Components와 같은 CSS-in-JSλŠ” λ›°μ–΄λ‚œ μ»΄ν¬λ„ŒνŠΈ 개발 κ²½ν—˜(DX)κ³Ό 동적인 ν…Œλ§ˆ 적용의 이점을 μ œκ³΅ν•œλ‹€κ³  μ£Όμž₯λ˜μ§€λ§Œ, λŒ€κ·œλͺ¨ μ„œλΉ„μŠ€ μ„±λŠ₯ κ΄€μ μ—μ„œλŠ” λŸ°νƒ€μž„ 처리 λΉ„μš©κ³Ό [[React Server Components|React Server Components]](RSC) ν™˜κ²½μ—μ„œμ˜ μ œμ•½ λ•Œλ¬Έμ— Tailwind CSS와 같은 λΉŒλ“œ νƒ€μž„(Static) μœ ν‹Έλ¦¬ν‹° λͺ¨λΈμ΄ 더 μš°μˆ˜ν•˜λ‹€λŠ” κ°•λ ₯ν•œ μ„±λŠ₯적 반둠이 μ‘΄μž¬ν•©λ‹ˆλ‹€ [19-21, 29, 39, 40]. --- *Last updated: 2026-04-26* --- - [[Software-Architecture-Patterns|Software-Architecture-Patterns]], [[Scalability-in-AI-Systems|Scalability-in-AI-Systems]], [[Service-oriented-Architecture|Service-oriented-Architecture]], Reliability-Engineering - **Raw Source:** 10_Wiki/Topics/AI/System-Architecture-Design.md