--- id: P-REINFORCE-AI-CLEANARCH-IMP category: "10_Wiki/πŸ’‘ Topics/Software Architecture" confidence_score: 0.98 tags: [Clean Architecture, Implementation, Layering, SOLID] last_reinforced: 2026-04-20 --- # [[Clean-Architecture-Implementation|Clean-Architecture-Implementation]] (클린 μ•„ν‚€ν…μ²˜ κ΅¬ν˜„) ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > "λ°μ΄ν„°λ² μ΄μŠ€λ‚˜ ν”„λ ˆμž„μ›Œν¬λŠ” μ„ΈλΆ€ 사항일 뿐이닀." λΉ„μ¦ˆλ‹ˆμŠ€ κ·œμΉ™(Domain)을 μ™ΈλΆ€ μ„Έκ³„λ‘œλΆ€ν„° μ² μ €νžˆ κ²©λ¦¬ν•˜μ—¬ 평생 λ³€ν•˜μ§€ μ•ŠλŠ” λ‹¨λ‹¨ν•œ 원핡(Core)을 μœ μ§€ν•˜λŠ” μ•„ν‚€ν…μ²˜λ‹€. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) - **μ˜μ‘΄μ„± κ·œμΉ™ (Dependency Rule)**: - μ˜μ‘΄μ„±μ˜ λ°©ν–₯은 항상 μ•ˆμͺ½(Domain)으둜만 ν–₯ν•΄μ•Ό ν•œλ‹€. 도메인은 μ™ΈλΆ€ λΌμ΄λΈŒλŸ¬λ¦¬λ‚˜ UI 라이브러리λ₯Ό μ ˆλŒ€ μ•Œλ©΄ μ•ˆ λœλ‹€. - **4λŒ€ λ ˆμ΄μ–΄ ꡬ성**: 1. **Entities**: κ°€μž₯ 핡심적인 λΉ„μ¦ˆλ‹ˆμŠ€ 객체 및 κ·œμΉ™. 2. **Use Cases**: μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 특유의 λΉ„μ¦ˆλ‹ˆμŠ€ 논리 κ΅¬ν˜„. 3. **Interface Adapters**: Controller, Presenter λ“± 데이터 λ³€ν™˜κΈ°. 4. **Frameworks & Drivers**: DB, UI, μ™ΈλΆ€ API λ“± μΈν”„λΌμŠ€νŠΈλŸ­μ²˜. - **DIP (Dependency Inversion Principle)**: - 쀑심뢀가 μ™ΈλΆ€λ₯Ό ν˜ΈμΆœν•΄μ•Ό ν•  땐 μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ •μ˜ν•˜κ³ , μ‹€μ²΄λŠ” μ™ΈλΆ€μ—μ„œ μ£Όμž…(Injection)λ°›λŠ”λ‹€. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (RL Update) - μž‘μ€ ν”„λ‘œμ νŠΈμ— 클린 μ•„ν‚€ν…μ²˜λ₯Ό λ„μž…ν•˜λŠ” 것은 'λ³΄μΌλŸ¬ν”Œλ ˆμ΄νŠΈ μ§€μ˜₯'을 μ΄ˆλž˜ν•  수 μžˆλ‹€. μ†Œκ·œλͺ¨μΌ 땐 생산성을 μ±™κΈ°κ³ , μ½”λ“œ λ² μ΄μŠ€κ°€ 1만 라인을 λ„˜μ–΄κ°€λŠ” μ‹œμ λΆ€ν„° μ μ§„μ μœΌλ‘œ λ ˆμ΄μ–΄λ₯Ό λΆ„λ¦¬ν•˜λŠ” **'점진적 μ•„ν‚€ν…μ²˜λ§'**이 μ‹€λ¬΄μ—μ„œ 더 μ„ ν˜Έλœλ‹€. ## πŸ”— 지식 μ—°κ²° (Graph) - Related: [[Separation_of_Concerns|Separation_of_Concerns]] , [[Domain-Driven Design (DDD)|Domain-Driven Design (DDD)]] - Foundation: [[React_Clean_Code_Best_Practices|React_Clean_Code_Best_Practices]]