8. 경계

· β˜• 3 min read · πŸ‘€... views

8. 경계

μ™ΈλΆ€ μ½”λ“œ μ‚¬μš©ν•˜κΈ°

μΈν„°νŽ˜μ΄μŠ€ μ œκ³΅μžμ™€ μΈν„°νŽ˜μ΄μŠ€ μ‚¬μš©μž μ‚¬μ΄μ—λŠ” 특유의 경계가 μ‘΄μž¬ν•œλ‹€.

μ œκ³΅μžλŠ” μ‚¬μš©μ„±μ„ 높이기 μœ„ν•΄ λ§Žμ€ μ˜μ—­μ—μ„œ μ§€μ›ν•˜λ €κ³  ν•˜κ³ ,

μ‚¬μš©μžλŠ” 본인이 μ‚¬μš©ν•˜λŠ” μͺ½μ˜ νŠΉν™”λœ κΈ°λŠ₯을 μ›ν•˜κΈ° λ•Œλ¬Έμ΄λ‹€.

ν•œ 가지 예둜 Map 을 보면 μœ μš©μ„±μ΄ λ†’μ§€λ§Œ, 그만큼 μœ„ν—˜ν•˜κΈ°λ„ ν•˜λ‹€.

μ—¬λŸ¬ μœ ν˜•μ˜ 객체λ₯Ό μ§€μ›ν•˜μ§€λ§Œ, 였용의 κ°€λŠ₯성도 λ†’κΈ° λ•Œλ¬Έ.

그렇기에 경계 μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ—¬κΈ°μ €κΈ° λ„˜κΈ°μ§€ μ•Šκ³ ,

Map κ³Ό 같은 경계 μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ΄μš©ν•  λ•ŒλŠ” 이λ₯Ό μ΄μš©ν•˜λŠ” ν΄λž˜μŠ€λ‚˜ 클래슀 계열 λ°–μœΌλ‘œ λ…ΈμΆœλ˜μ§€ μ•Šλ„λ‘ μ£Όμ˜ν•œλ‹€.

경계 μ‚΄ν”Όκ³  읡히기

μ™ΈλΆ€ μ½”λ“œλ₯Ό μ΅νžˆκΈ°λŠ” μ–΄λ ΅κ³ , ν†΅ν•©ν•˜κΈ°λ„ μ–΄λ ΅λ‹€.

λ‘˜μ„ λ™μ‹œμ— ν•˜λ €λ©΄ 더 μ–΄λ ΅λ‹€.

그렇기에 우리μͺ½ μ½”λ“œλ₯Ό λ¨Όμ € μž‘μ„±ν•΄ μ™ΈλΆ€ μ½”λ“œλ₯Ό ν˜ΈμΆœν•˜λŠ” λŒ€μ‹  λ¨Όμ € κ°„λ‹¨ν•œ ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ₯Ό μž‘μ„±ν•΄ μ™ΈλΆ€ μ½”λ“œλ₯Ό μ΅νžˆλŠ” 것을 ν•™μŠ΅ ν…ŒμŠ€νŠΈ 라고 ν•˜κ³ ,

이 ν•™μŠ΅ ν…ŒμŠ€νŠΈλŠ” ν†΅μ œλœ ν™˜κ²½μ—μ„œ APIλ₯Ό μ œλŒ€λ‘œ μ΄μ• ν•˜λŠ”μ§€ ν™•μΈν•˜λŠ” μ…ˆμ΄λ‹€.

ν•™μŠ΅ ν…ŒμŠ€νŠΈλŠ” API λ₯Ό μ‚¬μš©ν•˜λŠ” λͺ©μ μ— 초점이 μžˆλ‹€.

ν•™μŠ΅ ν…ŒμŠ€νŠΈλŠ” 곡짜 이상이닀

ν•™μŠ΅ ν…ŒμŠ€νŠΈλŠ” νˆ¬μžν•˜λŠ” λ…Έλ ₯보닀 μ–»λŠ” μ„±κ³Όκ°€ 더 크닀.

μ‹€μ œ μ½”λ“œμ™€ λ™μΌν•œ λ°©μ‹μœΌλ‘œ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ‚¬μš©ν•˜λŠ” ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€κ°€ ν•„μš”ν•˜λ‹€.

이런 경계 ν…ŒμŠ€νŠΈκ°€ μžˆλ‹€λ©΄ νŒ¨ν‚€μ§€μ˜ μƒˆ λ²„μ „μœΌλ‘œ μ΄μ „ν•˜κΈ° μ‰¬μ›Œμ§„λ‹€.

그렇지 μ•Šλ‹€λ©΄ 낑은 버전을 ν•„μš” μ΄μƒμœΌλ‘œ μ˜€λž«λ™μ•ˆ μ‚¬μš©ν•˜λ €λŠ” μœ ν˜Ήμ— 빠지기 쉽닀.

아직 μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” μ½”λ“œλ₯Ό μ‚¬μš©ν•˜κΈ°

경계와 κ΄€λ ¨ν•΄ 또 λ‹€λ₯Έ μœ ν˜•μ€ μ•„λŠ” μ½”λ“œμ™€ λͺ¨λ₯΄λŠ” μ½”λ“œλ₯Ό λΆ„λ¦¬ν•˜λŠ” 경계닀.

μ΄ˆλ°˜μ—λŠ” 경계와 λ¨Ό λΆ€λΆ„λΆ€ν„° κ΅¬ν˜„μ„ μ‹œμž‘ν•˜μ—¬, 점차 λ§Œλ‚  μ§€μ μ—μ„œλŠ” μΈν„°νŽ˜μ΄μŠ€λ₯Ό κ΅¬ν˜„ν•˜μ—¬ λ‹€λ₯Έ 곳과의 경계 뢀뢄에 adapter νŒ¨ν„΄μ„ μ‚¬μš©ν•˜μ—¬ 뢙인닀.

κΉ¨λ—ν•œ 경계

μ†Œν”„νŠΈμ›¨μ–΄ 섀계가 μš°μˆ˜ν•˜λ‹€λ©΄ λ³€κ²½ν•˜λŠ”λ° λ§Žμ€ νˆ¬μžμ™€ μž¬μž‘μ—…μ΄ ν•„μš”ν•˜μ§€ μ•Šλ‹€.

μ—„μ²­λ‚œ μ‹œκ°„κ³Ό λ…Έλ ₯κ³Ό μž¬μž‘μ—…μ„ μš”κ΅¬ν•˜μ§€ μ•ŠλŠ”λ‹€.

경계에 μœ„μΉ˜ν•˜λŠ” μ½”λ“œλŠ” κΉ”λ”νžˆ λΆ„λ¦¬ν•œλ‹€. λ˜ν•œ κΈ°λŒ€μΉ˜λ₯Ό μ •μ˜ν•˜λŠ” ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ„ μž‘μ„±ν•œλ‹€.

ν†΅μ œκ°€ λΆˆκ°€λŠ₯ν•œ μ™ΈλΆ€ νŒ¨ν‚€μ§€μ— μ˜μ‘΄ν•˜λŠ” 것보닀 ν†΅μ œκ°€ κ°€λŠ₯ν•œ 우리 μ½”λ“œμ— μ˜μ‘΄ν•˜λŠ” 편이 μ’‹λ‹€.

μžμΉ«ν•˜λ©΄ μ™ΈλΆ€ μ½”λ“œμ— νœ˜λ‘˜λ¦¬κΈ° λ•Œλ¬Έμ΄λ‹€. μ™ΈλΆ€ νŒ¨ν‚€μ§€λ₯Ό ν˜ΈμΆœν•˜λŠ” μ½”λ“œλ₯Ό κ°€λŠ₯ν•œ 쀄여 경계λ₯Ό κ΄€λ¦¬ν•˜μž.

μƒˆλ‘œμš΄ 클래슀둜 경계λ₯Ό κ°μ‹Έκ±°λ‚˜, adapter νŒ¨ν„΄μ„ μ‚¬μš©ν•΄ μΈν„°νŽ˜μ΄μŠ€λ₯Ό λ³€ν™˜ν•˜μž.

사견을 덧뢙이면…?

이번 μ±•ν„°μ—μ„œλŠ” μ™ΈλΆ€ 라이브러리 ν˜Ήμ€ μ™ΈλΆ€ API λ“±κ³Ό 연결을 ν•  λ•Œ, μ–΄λ–»κ²Œ 해야할지에 λŒ€ν•΄μ„œ λ‚˜μ™€μžˆλ‹€.

그리고 ν•™μŠ΅ν…ŒμŠ€νŠΈ(μœ λ‹›ν…ŒμŠ€νŠΈ) κ°€ μ€‘μš”ν•˜λ‹€λŠ” 사싀을 λ§ν•˜λŠ” μž₯이기도 ν•˜λ‹€.

이 책을 읽닀보면 λ§ˆν‹΄ 파울러의 λ¦¬νŒ©ν† λ§ μ±…κ³Ό λ‚΄μš©μ΄ κ²ΉμΉœλ‹€κ³  λŠκ»΄μ§€λŠ” 뢀뢄이 λ§Žλ‹€. (마치 μ‹œμ€‘μ— μžˆλŠ” λ§Žμ€ μžκΈ°κ³„λ°œμ„œ 와 λΉ„μŠ·ν•œ..?)

그만큼 μ€‘μš”ν•˜μ§€λ§Œ μ΅μˆ™ν•΄μ§€μ§€ μ•ŠμœΌλ©΄ νž˜λ“  것 κ°™λ‹€. λ‚˜λ§Œν•΄λ„ λ¨Έλ¦¬λ‘œλŠ” 해야지 ν•˜λ©΄μ„œλ„ 행동은 κΈ€μŽ„…? λ‹ˆκΉŒ

책을 μ½μœΌλ©΄μ„œ 쀑간에 낑은 버전을 ν•„μš” μ΄μƒμœΌλ‘œ μ˜€λž«λ™μ•ˆ μ‚¬μš©ν•˜λ €λŠ” μœ ν˜Ήμ— 빠지기 쉽닀 λΌλŠ” 뢀뢄이 μžˆλ‹€.

이전에 이런 κ²½ν—˜μ΄ 있긴 ν•˜λ‹€. 타 λΌμ΄λΈŒλŸ¬λ¦¬κ°€ 핡심 μ½”μ–΄λ‘œ 된 νŒ¨ν‚€μ§€ ν”„λ‘œμ νŠΈκ°€ μžˆμ—ˆλ‹€. 뭐 μ—¬κΈ°κΉŒμ§€λŠ” μ’‹λ‹€. 그럴 수 μžˆμœΌλ‹ˆκΉŒ.

ν•˜μ§€λ§Œ, κ·Έ νŒ¨ν‚€μ§€μ— ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λŠ” μ‘΄μž¬ν•˜μ§€ μ•Šμ•˜κ³ , λ¬Όλ‘  λ¦¬νŒ©ν† λ§λ„ μ—†μ—ˆλ‹€.

κ·ΈλŸ¬λ‹€λ³΄λ‹ˆ μ‹œκ°„μ΄ μ§€λ‚˜λ©΄μ„œ ꡰ데ꡰ데 μš”κ΅¬μ‚¬ν•­ 변경에 μ˜ν•œ λ•œλΉ΅λ§Œ λŠ˜μ–΄λ‚¬κ³ , 결ꡭ은 버리고 싢어도 버릴 수 μ—†λŠ” 애물단지 같은 λŠλ‚Œμ΄μ—ˆλ‹€.

(μ™œλƒκ³ ? 일단, λŒμ•„λŠ” κ°€λ‹ˆκΉŒ νŒ”μ•„μ•Όμ§€!)

이런 뢀뢄을 μƒκ°ν•˜λ©΄ 정말 아쉽긴 ν•˜λ‹€. ν•˜μ§€λ§Œ, μ§€κΈˆ κ·Έ λ•Œλ‘œ λŒμ•„κ°„λ‹€κ³  해도 λ‹¨μœ„ν…ŒμŠ€νŠΈλ₯Ό λ§Œλ“€κ³  그럴 수 μžˆμ„ 것 같진 μ•Šλ‹€.

ν•˜λ£¨μ‚΄μ΄λž€ λŠλ‚Œμ΄ κ°•ν–ˆμœΌλ‹ˆκΉŒ…

μ˜†κΈΈλ‘œ μ’€ μƒˆκΈ΄ ν–ˆμ§€λ§Œ… 이번 μž₯μ—μ„œλŠ” ν…ŒμŠ€νŠΈλ₯Ό ν†΅ν•œ 경계에 λŒ€ν•΄ λ§ν•˜κΈ°λ„ ν•˜μ§€λ§Œ, map κ³Ό vo 에 λŒ€ν•΄μ„œλ„ 생각해볼 수 μžˆλŠ” 쒋은 μž₯μ΄μ—ˆλ‹€.

Share on

snack
WRITTEN BY
snack
Web Programmer


What's on this Page