πŸ› οΈ Architecture

클린 μ•„ν‚€ν…μ²˜λž€μ—¬λŸ¬ μ•„ν‚€ν…μ²˜λ₯Ό ν•˜λ‚˜λ‘œ ν†΅ν•©ν•˜λŠ” μ‹œλ„μ΄λ©°(ν—₯사고날, BCE, DCI λ“±), μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό κ³„μΈ΅μœΌλ‘œ λ‚˜λˆ„μ–΄ 관심사λ₯Ό λΆ„λ¦¬ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. μ—¬λŸ¬ μ•„ν‚€ν…μ²˜λ“€μ˜ κ³΅ν†΅μ˜ λͺ©ν‘œμ΄κΈ°λ„ ν•©λ‹ˆλ‹€.클린 μ•„ν‚€ν…μ²˜λŠ” ν”„λ‘œμ νŠΈ 전체가 DB에 μ˜μ‘΄ν•˜λŠ” ꡬ쑰λ₯Ό ν•΄κ²°ν•˜κ³ μž, μ˜μ‘΄μ„± 역전을 톡해 도메인이 쀑심이 λ˜λŠ” λ°©λ²•μœΌλ‘œ 의쑴 문제λ₯Ό ν•΄κ²°ν•©λ‹ˆλ‹€. κ³΅ν†΅μ˜ 핡심 κ·œμΉ™μ€‘μš”λ„μ— 따라 계측을 λ‚˜λˆ•λ‹ˆλ‹€.μ˜μ‘΄μ„±μ˜ λ°©ν–₯은 μ•ˆμͺ½/κ³ μˆ˜μ€€μ„ ν–₯ν•©λ‹ˆλ‹€. (λ‹€ν˜•μ„±μ„ μ΄μš©ν•˜μ—¬ μ˜μ‘΄μ„±μ€ μ–΄λ””μ„œλ“  μ—­μ „ κ°€λŠ₯) ν΄λ¦° μ•„ν‚€ν…μ²˜μ˜ νŠΉμ§•ν•΅μ‹¬ κ·œμΉ™μ„ λ‹΄κ³  μžˆλŠ” 도메인이 쀑심이 λ˜λ―€λ‘œ, λΉ„μ¦ˆλ‹ˆμŠ€ κ·œμΉ™μ— 집쀑할 수 μžˆμŠ΅λ‹ˆλ‹€.도메인이 μ„ΈλΆ€ 사항(μž…μΆœλ ₯ μž₯치, DB, μ„œλ²„, ν”„λ ˆμž„μ›Œν¬, 톡신 ν”„λ‘œν† μ½œ λ“±)에 μ˜μ‘΄ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.νŒ¨ν‚€μ§€ ꡬ쑰가 계측보닀 λ³΅μž‘ν•©λ‹ˆλ‹€.경계..
ν—₯사고날 μ•„ν‚€ν…μ²˜λž€ν—₯사고날 μ•„ν‚€ν…μ²˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ½”μ–΄κ°€ μœ‘κ°ν˜•μœΌλ‘œ ν‘œν˜„λ˜μ–΄ μžˆλŠ” μ•„ν‚€ν…μ²˜μž…λ‹ˆλ‹€.μœ‘κ°ν˜• μ•ˆμ—λŠ” 도메인 엔티티와 이와 μƒν˜Έμž‘μš©ν•˜λŠ” μœ μŠ€μΌ€μ΄μŠ€κ°€ μžˆμŠ΅λ‹ˆλ‹€. λͺ¨λ“  μ˜μ‘΄μ„±μ€ μ½”μ–΄λ₯Ό ν–₯ν•©λ‹ˆλ‹€. μœ‘κ°ν˜• λ°”κΉ₯μ—λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜κ³Ό μƒν˜Έμž‘μš©ν•˜λŠ” λ‹€μ–‘ν•œ μ–΄λŒ‘ν„°λ“€μ΄ μžˆμŠ΅λ‹ˆλ‹€. (μ›Ή ν”„λ ˆμž„μ›Œν¬, λ°μ΄ν„°λ² μ΄μŠ€ λ“±) ν—₯사고날 μ•„ν‚€ν…μ²˜λŠ” 포트 μ•€ μ–΄λŒ‘ν„°(Ports and Adapters) μ•„ν‚€ν…μ²˜λΌκ³ λ„ λΆˆλ¦½λ‹ˆλ‹€. κ΅¬μ„± μš”μ†Œν¬νŠΈ(Port)도메인과 μ–΄λŒ‘ν„° μ‚¬μ΄μ˜ ν†΅μ‹ ν•˜κ³ , μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ 외뢀와 μƒν˜Έμž‘μš©ν•˜λŠ” μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ •μ˜ν•©λ‹ˆλ‹€.μž…λ ₯ 포트: μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ™ΈλΆ€λ‘œλΆ€ν„° λ“€μ–΄μ˜€λŠ” μš”μ²­μ„ μ²˜λ¦¬ν•©λ‹ˆλ‹€. μœ μŠ€μΌ€μ΄μŠ€λ₯Ό μ‹€ν–‰ν•˜λŠ” λ©”μ„œλ“œλ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€. (μœ μŠ€μΌ€μ΄μŠ€ μΈν„°νŽ˜μ΄μŠ€, μ„œλΉ„μŠ€ μΈν„°νŽ˜μ΄μŠ€)좜λ ₯ 포트: μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ™ΈλΆ€ μ‹œμŠ€ν…œ(μ›Ή..
λ ˆμ΄μ–΄λ“œ μ•„ν‚€ν…μ²˜λž€λ ˆμ΄μ–΄λ“œ μ•„ν‚€ν…μ²˜λŠ” μ—¬λŸ¬ κ³„μΈ΅μœΌλ‘œ λΆ„λ¦¬ν•˜μ—¬ 각 계측이 νŠΉμ • 역할을 κ°€μ§€λŠ” μ•„ν‚€ν…μ²˜ νŒ¨ν„΄μž…λ‹ˆλ‹€. λ ˆμ΄μ–΄λ“œ μ•„ν‚€ν…μ²˜λŠ” λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό ν† λŒ€λ‘œ ν•œ μ•„ν‚€ν…μ²˜ νŒ¨ν„΄μž…λ‹ˆλ‹€. λͺ¨λ“  것이 μ˜μ†μ„± 계측을 ν† λŒ€λ‘œ λ§Œλ“€μ–΄μ§‘λ‹ˆλ‹€. ν”„λ ˆμ  ν…Œμ΄μ…˜ 계측은 λΉ„μ¦ˆλ‹ˆμŠ€ 계측에 μ˜μ‘΄ν•˜κ³ , λΉ„μ¦ˆλ‹ˆμŠ€ 계측은 μ˜μ†μ„± 계측에 μ˜μ‘΄ν•˜κΈ° λ•Œλ¬Έμ— μžμ—°μŠ€λŸ½κ²Œ λ°μ΄ν„°λ² μ΄μŠ€μ— μ˜μ‘΄ν•˜κ²Œ λ©λ‹ˆλ‹€. κ³„μΈ΅ ꡬ쑰Presentation Layerν”„λ ˆμ  ν…Œμ΄μ…˜ 계측은 μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€μ™€ μ‚¬μš©μž μƒν˜Έ μž‘μš©μ„ μ²˜λ¦¬ν•©λ‹ˆλ‹€.ν”„λ ˆμ  ν…Œμ΄μ…˜ κ³„μΈ΅μ—μ„œλŠ” λΉ„μ¦ˆλ‹ˆμŠ€ 둜직과 κ΄€λ ¨λœ μ–΄λ– ν•œ κΈ°λŠ₯도 μˆ˜ν–‰ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ‚¬μš©μž 이벀트λ₯Ό μš”μ²­λ°›μ•„ λΉ„μ¦ˆλ‹ˆμŠ€ 계측에 μžˆλŠ” Service둜 μš”μ²­μ„ λ³΄λƒ…λ‹ˆλ‹€.Business Layerμ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 핡심 κΈ°λŠ₯κ³Ό λΉ„μ¦ˆλ‹ˆμŠ€ κ·œμΉ™μ„ κ΅¬ν˜„ν•©λ‹ˆλ‹€.P..
kiuun
'πŸ› οΈ Architecture' μΉ΄ν…Œκ³ λ¦¬μ˜ κΈ€ λͺ©λ‘