--- id: P-REINFORCE-AI-DIP category: "10_Wiki/πŸ’‘ Topics/AI" confidence_score: 0.98 tags: [SoftwareEngineering, SOLID, DIP, Architecture] last_reinforced: 2026-04-20 --- # [[Dependency-Inversion-Principle]] (의쑴 관계 μ—­μ „ 원칙) ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > "ꡬ체적인 벽돌이 μ•„λ‹ˆλΌ 섀계도에 μ˜μ‘΄ν•˜λΌ." μƒμœ„ λͺ¨λ“ˆμ΄ ν•˜μœ„ λͺ¨λ“ˆμ— 직접 μ˜μ‘΄ν•˜λŠ” 것이 μ•„λ‹ˆλΌ, λ‘˜ λ‹€ 좔상화(μΈν„°νŽ˜μ΄μŠ€)에 μ˜μ‘΄ν•˜κ²Œ λ§Œλ“¦μœΌλ‘œμ¨ μ‹œμŠ€ν…œμ˜ λ³€ν™”λ₯Ό μœ μ—°ν•˜κ²Œ μˆ˜μš©ν•˜λŠ” SOLID의 핡심 원칙이닀. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) - **The Rule**: - 1. μƒμœ„ λͺ¨λ“ˆμ€ ν•˜μœ„ λͺ¨λ“ˆ κ΅¬ν˜„μ— μ˜μ‘΄ν•΄μ„œλŠ” μ•ˆ λœλ‹€. - 2. μΆ”μƒν™”λŠ” μ„ΈλΆ€ 사항에 μ˜μ‘΄ν•΄μ„œλŠ” μ•ˆ 되며, μ„ΈλΆ€ 사항이 좔상화에 μ˜μ‘΄ν•΄μ•Ό ν•œλ‹€. - **Why Inverse?**: - 기쑴의 전톡적인 μ„€κ³„λŠ” μƒμœ„ μˆ˜μ€€μ˜ 둜직이 ν•˜μœ„ μˆ˜μ€€μ˜ 도ꡬ에 λŒλ €λ‹€λ‹ˆλŠ” κ΅¬μ‘°μ˜€μœΌλ‚˜, 이 원칙을 μ μš©ν•˜λ©΄ 도ꡬ가 둜직(μΈν„°νŽ˜μ΄μŠ€)에 맞좰 λΌμ›Œμ§€λŠ” ν˜•νƒœλ‘œ 흐름이 μ—­μ „λœλ‹€. - **Impact**: νŠΉμ • λΌμ΄λΈŒλŸ¬λ¦¬λ‚˜ ν”„λ ˆμž„μ›Œν¬λ₯Ό ꡐ체할 λ•Œ μƒμœ„ λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ„ μ „ν˜€ κ±΄λ“œλ¦¬μ§€ μ•Šμ•„λ„ λ˜λŠ” κ°•λ ₯ν•œ 격리 λŠ₯λ ₯을 μ œκ³΅ν•œλ‹€. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (RL Update) - DIPλ₯Ό μ§€ν‚€λ €λ©΄ μΈν„°νŽ˜μ΄μŠ€ 섀계가 μ„ ν–‰λ˜μ–΄μ•Ό ν•˜λŠ”λ°, 도메인에 λŒ€ν•œ 이해가 λΆ€μ‘±ν•  λ•Œ μ„±κΈ‰ν•˜κ²Œ μΈν„°νŽ˜μ΄μŠ€λ₯Ό λ§Œλ“€λ©΄ μƒμ‚°μ„±λ§Œ λ–¨μ–΄λœ¨λ¦¬λŠ” 'κ³Όμž‰ 섀계(Over-engineering)'κ°€ 될 수 μžˆλ‹€. λ³€ν™”κ°€ 거의 μ—†λŠ” ν™•μ‹€ν•œ 뢀뢄은 ꡬ체 ν΄λž˜μŠ€μ— μ˜μ‘΄ν•˜λŠ” 것이 λ‚˜μ„ λ•Œλ„ μžˆλ‹€. ## πŸ”— 지식 μ—°κ²° (Graph) - Related: SOLID-Principles , [[Dependency-Injection]] - Part of: Clean-Architecture