Published on

🌡 μ—˜λ ˆκ°•νŠΈ 였브젝트 1μž₯을 읽고

Authors
  • avatar
    Name
    Gunkim
    Twitter
Table of Contents

μ—˜λ ˆκ°•νŠΈ 였브젝트λ₯Ό 읽고 μ •λ¦¬ν•œ λ‚΄μš©μž…λ‹ˆλ‹€.

~er둜 λλ‚˜λŠ” 이름을 μ‚¬μš©ν•˜μ§€ λ§ˆμ„Έμš”

  1. ν΄λž˜μŠ€λŠ” 객체λ₯Ό μΈμŠ€ν„΄μŠ€ν™”ν•˜λŠ” νŒ©ν† λ¦¬μ΄λ‹€. λ•Œλ¬Έμ— 클래슀의 이름은 μ€‘μš”ν•˜λ‹€.
  2. ~er같은 이름은 κΈ°λŠ₯에 κΈ°λ°˜ν•΄μ„œ 이름을 μ§“λŠ” 방식이닀.
    1. μΊ‘μŠν™”λœ λ°μ΄ν„°μ˜ λŒ€ν‘œμžκ°€ μ•„λ‹Œ λ‚΄μ™ΈλΆ€λ₯Ό μž‡λŠ” μ—°κ²°μž₯치둜써 쑴쀑받지 λͺ»ν•˜λŠ” 객체λ₯Ό λ§Œλ“€κ²Œ λœλ‹€.
    2. μ–΄λ–€ 데이터λ₯Ό λ‹€λ£¨λŠ” μ ˆμ°¨λ“€μ˜ 집합일 뿐이닀. 객체지ν–₯ μ–Έμ–΄λ₯Ό μ“°μ§€λ§Œ, μ—¬μ „νžˆ 데이터와 절차λ₯Ό μ΄μš©ν•΄μ„œ μƒκ°ν•˜κ³  μžˆλŠ” 것이닀.
  3. 객체의 이름은 κΈ°λŠ₯이 μ•„λ‹Œ μ—­λŸ‰μœΌλ‘œ νŠΉμ • 지어야 ν•œλ‹€. (무엇을 ν•˜λŠ”μ§€κ°€ μ•„λ‹Œ 무엇인지에 κΈ°λ°˜ν•΄μ•Ό ν•œλ‹€)

μƒμ„±μž ν•˜λ‚˜λ₯Ό μ£Ό μƒμ„±μžλ‘œ λ§Œλ“œμ„Έμš”

ν•˜λ‚˜μ˜ μ£Ό μƒμ„±μžμ™€ μ—¬λŸ¬ 개의 λΆ€ μƒμ„±μžλ₯Ό 두어 μ£Ό μƒμ„±μžλ₯Ό ν†΅ν•΄μ„œ 객체λ₯Ό μƒμ„±ν•˜κ²Œ 되면, 쀑볡 μ½”λ“œλ₯Ό λ°©μ§€ν•˜κ³  섀계λ₯Ό 더 κ°„κ²°ν•˜κ²Œ 되며 μœ μ§€λ³΄μˆ˜μ„±μ΄ ν–₯μƒλœλ‹€.

μƒμ„±μžμ— μ½”λ“œλ₯Ό 넣지 λ§ˆμ„Έμš”

μƒμ„±μžμ—μ„œλŠ” κ°’μ˜ μ΄ˆκΈ°ν™”λ§Œμ„ λ‹΄λ‹Ήν•˜κ²Œ ν•΄μ•Ό ν•œλ‹€. μƒμ„±μžμ— μ½”λ“œκ°€ 없을 경우 μ„±λŠ₯ μ΅œμ ν™”κ°€ 더 쉽고 μ½”λ“œμ˜ μ‹€ν–‰ 속도가 더 λΉ λ₯΄λ‹€.

객체λ₯Ό μΈμŠ€ν„΄μŠ€ν™”ν•˜λŠ” λ™μ•ˆμ—λŠ” 객체λ₯Ό μƒμ„±ν•˜λŠ” 일 μ΄μ™Έμ—λŠ” μ–΄λ–€ 일도 μˆ˜ν–‰ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— μƒμ„±μžμ—μ„œ μ½”λ“œλ₯Ό μ—†μ• λ©΄ μ‰½κ²Œ μ œμ–΄ν•  수 μžˆλŠ” 투λͺ…ν•œ 객체λ₯Ό λ§Œλ“€ 수 있으며, 객체λ₯Ό μ΄ν•΄ν•˜κ³  μž¬μ‚¬μš©ν•˜κΈ° μ‰¬μ›Œμ§„λ‹€. 이 객체듀은 쒋은 λ°©μ‹μœΌλ‘œ 맀우 게으λ₯΄λ‹€.

λŠλ‚€ 점

κ·Έκ°„ μžλ°”λΌλŠ” 객체지ν–₯ μ–Έμ–΄λ‘œ κ°œλ°œμ„ ν•΄μ˜€λ©΄μ„œ 객체지ν–₯적으둜 κ°œλ°œν•˜κ³  μžˆλ‹€κ³  μƒκ°ν–ˆλŠ”λ°, μ •μž‘ κ°€μž₯ μ€‘μš”ν•œ 이름에 λŒ€ν•΄ 깊게 생각을 μ•ˆ ν•΄λ΄€λ˜ 것 κ°™λ‹€. ~er 같은 이름은 Controller, Consumer, Producer λ“± 많이 μ ‘ν•΄μ˜€κ³  μžˆμ—ˆκΈ° λ•Œλ¬Έμ— λ‹Ήμ—°ν•˜λ‹€κ³  λŠκΌˆμ„μ§€ λͺ¨λ₯Έλ‹€. 그리고 μ΄λŸ¬ν•œ 이름은 맀우 λŒ€μ€‘μ μœΌλ‘œ μ‚¬μš©ν•΄μ˜€κ³  있기 λ•Œλ¬Έμ— μ‚¬λžŒλ“€ κ°„μ˜ ν˜ΈλΆˆν˜Έκ°€ 맀우 μžˆλŠ” λ°©μ‹μ΄κΈ°λŠ” ν•˜λ‹€. ν•˜μ§€λ§Œ 더 쒋은 이름을 짓기 μœ„ν•΄ 맀우 κΉŠμ€ 고민을 ν•˜κ²Œ λ˜μ—ˆμœΌλ‹ˆ, μ €μžμ˜ μ˜λ„λŠ” λ‹¬μ„±λœ 것 κ°™λ‹€...πŸ˜… 이 방식은 μ°Ύμ•„λ³΄λ‹ˆ 쒋은 객체의 7가지 덕λͺ©μ˜ 6λ²ˆμ§Έμ— μ†Œκ°œλ˜μ—ˆλ‹€.

μ£Ό μƒμ„±μžμ™€ λΆ€ μƒμ„±μž 원칙 같은 κ²½μš°λŠ” μ›λž˜ 맀우 μ’‹μ•„ν•˜λŠ” 방식이라 λ„˜μ–΄κ°€κ³ , μƒμ„±μžμ— μ½”λ“œλ₯Ό 넣지 μ•ŠλŠ” 방법은 사싀 듀어보지도 λͺ»ν•œ λ°©λ²•μ΄μ—ˆλ‹€. ν˜•λ³€ν™˜ λ‘œμ§μ΄μ•Ό λ³€ν™˜ν•΄μ„œ 값을 λ„˜κ²¨μ€€λ‹€κ³  쳐도, 그러면 μœ νš¨μ„± 검증 λ‘œμ§μ€ 어디에 λ„£μ–΄μ•Ό ν•˜λ‚˜? λΌλŠ” 의문이 λ“ λ‹€. 객체가 생성될 λ•Œ μœ νš¨ν•˜μ§€ μ•Šμ€ 값이 포함될 경우 객체가 μƒμ„±λ˜μ§€ μ•Šλ„λ‘ ν•˜λŠ” 것도 μƒμ„±μžμ˜ 역할이라고 μƒκ°ν–ˆλŠ”λ° 말이닀.

κ·Έλž˜μ„œ 이 방법을 지킀렀면 ν˜•λ³€ν™˜ 및 μœ νš¨μ„± 검증을 λͺ¨λ‘ μ™ΈλΆ€μ—μ„œ ν•˜κ³  μƒμ„±μžμ—μ„œλŠ” κ·Έ 값이 μœ νš¨ν•˜λ‹€κ³  λ―Ώκ³  μ΄ˆκΈ°ν™”λ₯Ό μ‹œν‚€λŠ” 방법 λ°–μ—λŠ” 생각이 λ‚˜μ§€ μ•ŠλŠ”λ‹€. 이 방법이 κ³Όμ—° μ‹€λ¬΄μ—μ„œ μ™„λ²½νžˆ μ§€μΌœμ§ˆ 수 μžˆμ„μ§€ λͺ¨λ₯΄κ² μ§€λ§Œ, 이 둜직이 μƒμ„±μžμ— λ“€μ–΄κ°€λŠ” 게 λ§žλ‚˜? λΌλŠ” μ˜μ‹¬μ„ 심어쀀 κ²ƒλ§Œ κ°–κ²Œ ν•΄μ€€ κ²ƒλ§Œ 해도 역할을 λ‹€ν–ˆλ‹€κ³  μƒκ°ν•œλ‹€.