Issue #5 - f-lab-edu/at_ticket GitHub Wiki

Common λͺ¨λ“ˆ μ‚¬μš©μ‹œμ˜ 주의점

κ°œμš”

저희 At_ticket ν”„λ‘œμ νŠΈλŠ” κΈ°λŠ₯λ“€ κ°„μ˜ μ˜μ‘΄μ„±μ„ 쀄이기 μœ„ν•˜μ—¬ λ©€ν‹° λͺ¨λ“ˆλ‘œ κ΅¬μ„±λ˜μ–΄μžˆμŠ΅λ‹ˆλ‹€.
κ·Έλž˜μ„œ κ³΅ν†΅μœΌλ‘œ μ‚¬μš©ν•˜λŠ” μ½”λ“œλ“€λ„ λΆ„λ¦¬ν•˜μ—¬ 곡톡 λͺ¨λ“ˆ(Common λͺ¨λ“ˆ)μ΄λΌλŠ” λͺ¨λ“ˆμ„ λ”°λ‘œ λ§Œλ“€λ©΄ μ’‹κ² λ‹€λŠ” 생각을 ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

λͺ¨λ“ˆμ„ λΆ„λ¦¬ν•˜κΈ°μ— μ•žμ„œ,
Common λͺ¨λ“ˆμ„ 잘λͺ»μ‚¬μš©ν–ˆμ„ λ•Œ 생길 수 μžˆλŠ” λ¬Έμ œμ μ— λŒ€ν•΄ μƒκ°ν•΄λ³΄μ•˜μŠ΅λ‹ˆλ‹€.

Common의 문제점

μœ„μ™€ 이미지와 같이 λΉ„μŠ·ν•œ μž‘μ—…μ„ ν•˜λŠ” μ½”λ“œλ₯Ό μΌλ°˜ν™”ν•˜μ—¬ λ²”μš© 처리 κΈ°λŠ₯을 λ‹΄λ‹Ήν•˜λŠ” λͺ¨λ“ˆλ‘œ λ§Œλ“ λ‹€κ³  κ°€μ •ν•΄λ΄…μ‹œλ‹€.

img
β–² 쀑볡 λ‘œμ§μ„ λͺ¨μ•„μ„œ Common λͺ¨λ“ˆλ‘œ 뢄리함

μ΄λ ‡κ²Œ λ§Œλ“€μ–΄μ§„ 곡톡λͺ¨λ“ˆμ€ μ²˜μŒμ—λŠ” 아무 λ¬Έμ œκ°€ μ—†μ–΄ λ³΄μž…λ‹ˆλ‹€.

κΈ°λŠ₯이 μΆ”κ°€λ˜κΈ° μ‹œμž‘ν•˜λ©΄μ„œ, Common λͺ¨λ“ˆμ—λ„ 각 λͺ¨λ“ˆμ— κ΄€λ ¨λœ μ½”λ“œλ“€μ΄ μΆ”κ°€λ˜κΈ° μ‹œμž‘ν•  κ²ƒμž…λ‹ˆλ‹€.
Aλͺ¨λ“ˆμ˜ κΈ°λŠ₯ λ³€κ²½μœΌλ‘œ Aλͺ¨λ“ˆμΈμ§€ 판λͺ…ν•˜λŠ” 쑰건 λΆ„κΈ°κ°€ μΆ”κ°€λ©λ‹ˆλ‹€. Bλͺ¨λ“ˆμ—μ„œ κΈ°λŠ₯을 μΆ”κ°€ν•˜λ©΄μ„œ κ°€μ Έλ‹€ μ“΄ Common λͺ¨λ“ˆμ˜ κΈ°λŠ₯은 사싀 Cλͺ¨λ“ˆμ„ μœ„ν•œ 것 일지도 λͺ¨λ¦…λ‹ˆλ‹€.

img
β–² λͺ¨λ“ˆμ˜ κΈ°λŠ₯ λ³€κ²½μœΌλ‘œ λ³€κ²½λœ Common λͺ¨λ“ˆ

과정이 λ°˜λ³΅λ˜λ‹€λ³΄λ©΄, Common λͺ¨λ“ˆμ€ λΉ„λŒ€ν•΄μ§€κ³  Common λͺ¨λ“ˆμ— λŒ€ν•œ μ˜μ‘΄μ„±μ΄ λ†’μ•„μ§ˆ κ²ƒμž…λ‹ˆλ‹€. Aλͺ¨λ“ˆμ„ μˆ˜μ •ν•˜κ²Œ 되면 λ‹€λ₯Έ λͺ¨λ“ˆμ—λ„ 영ν–₯이 λ‚˜νƒ€λ‚˜κ²Œ λ©λ‹ˆλ‹€. 각 λͺ¨λ“ˆμ˜ λ‘œμ§μ„ λ³€κ²½ν•˜κ³  싢어도 이미 λ„ˆλ¬΄ λ§Žμ€ 것을 Common λͺ¨λ“ˆμ— μ˜μ‘΄ν•˜κ³  μžˆμ–΄ λΆ„ν•΄ν•˜κΈ°λ„ νž˜λ“  상황이 상황이 λ˜μ–΄ 버릴 것 μž…λ‹ˆλ‹€.

κΈ°λŠ₯이 λ³€κ²½ 됨에 μžˆμ–΄ νŠΉμ • λͺ¨λ“ˆλ§Œμ„ μœ„ν•œ 쑰건 λΆ„κΈ°κ°€ μΆ”κ°€λ˜μ–΄ 버린닀면 더 이상 곡톡 둜직이 μ•„λ‹ˆκ²Œ λ©λ‹ˆλ‹€.
유즈 μΌ€μ΄μŠ€λ₯Ό νŒμ •ν•˜λŠ” 쑰건 λΆ„κΈ°λ₯Ό 계속 κ΅¬ν˜„ν•˜κ³  μ‹Άμ§€ μ•Šλ‹€λ©΄, κ³΅ν†΅λ‘œμ§μ΄ μ•„λ‹˜μ„ μ•Œκ²Œλœ μ‹œμ μ— μ½”λ“œλ₯Ό λΆ„λ¦¬ν•˜λŠ” 것이 μ’‹μ•„λ³΄μž…λ‹ˆλ‹€.

일견 같은 λΉ„μ¦ˆλ‹ˆμŠ€ 둜직이라고 μƒκ°ν•˜μ˜€λ˜ λ‘œμ§μΌμ§€λΌλ„,
λΉ„μ¦ˆλ‹ˆμŠ€μ— λŒ€ν•œ 이해도가 λ†’μ•„μ§€λ©΄μ„œ μ„œλ‘œ λ‹€λ₯Έ 둜직이 ν•„μš”ν•˜λ‹€λŠ” 것을 λ’€λŠ¦κ²Œ μΈμ§€ν•˜κ²Œ λ˜λŠ” κ²½μš°λ„ μžˆλ‹€κ³  ν•©λ‹ˆλ‹€.

μ €ν¬λŠ” Common λͺ¨λ“ˆμ— λŒ€ν•œ μ˜μ‘΄μ„±μ΄ λ†’μ•„μ§€λŠ” 것을 λ°©μ§€ν•˜κ³ , 각 λͺ¨λ“ˆμ΄ 각 λͺ¨λ“ˆλ§Œμ˜ μ±…μž„μ„ 질 수 μžˆλ„λ‘ λΉ„μ¦ˆλ‹ˆμŠ€, 도메인 λ‘œμ§μ€ 각 λͺ¨λ“ˆμ— μž‘μ„±ν•˜κΈ°λ‘œ ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
Common λͺ¨λ“ˆμ—λŠ” λͺ¨λ“  λͺ¨λ“ˆμ—μ„œ μ‚¬μš©ν•  수 밖에 μ—†λŠ” Type, Utilλ“±μ˜ λ‚΄μš©λ§Œμ„ μž‘μ„±ν•˜κΈ°λ‘œ ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

μ°Έκ³ 


https://techblog.woowahan.com/2637/
(λ„μ„œ) λ‚΄ μ½”λ“œκ°€ κ·Έλ ‡κ²Œ μ΄μƒν•œκ°€μš”? - μ„Όλ°” 닀이야