관리 메뉴

πŸ’»πŸ’­πŸŽ§πŸŒ

λ‹¨μœ„ ν…ŒμŠ€νŠΈλž€? (런던파 vs κ³ μ „νŒŒ) λ³Έλ¬Έ

μΉ΄ν…Œκ³ λ¦¬ μ—†μŒ

λ‹¨μœ„ ν…ŒμŠ€νŠΈλž€? (런던파 vs κ³ μ „νŒŒ)

adorableco 2024. 3. 23. 11:35
λ°˜μ‘ν˜•

 

λ‹¨μœ„ν…ŒμŠ€νŠΈλŠ” 쒋은 λΆ€μ • μ§€ν‘œμ΄μ§€λ§Œ λ‚˜μœ κΈμ •μ§€ν‘œμ΄λ‹€

 

  • 곡유 μ˜μ‘΄μ„± : ν…ŒμŠ€νŠΈ 간에 곡유되고 μ„œλ‘œμ˜ 결과에 영ν–₯을 λ―ΈμΉ  수 μžˆλŠ” μˆ˜λ‹¨μ„ μ œκ³΅ν•˜λŠ” μ˜μ‘΄μ„±
  • λΉ„κ³΅κ°œ μ˜μ‘΄μ„± : κ³΅μœ ν•˜μ§€ μ•ŠλŠ” μ˜μ‘΄μ„±
  • ν”„λ‘œμ„ΈμŠ€ μ™ΈλΆ€ μ˜μ‘΄μ„± : μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ‹€ν–‰ ν”„λ‘œμ„ΈμŠ€ μ™ΈλΆ€μ—μ„œ μ‹€ν–‰λ˜λŠ” μ˜μ‘΄μ„±βž‘οΈ ν”„λ‘œμ„ΈμŠ€ μ™ΈλΆ€ μ˜μ‘΄μ„±μ€ λŒ€λΆ€λΆ„ 곡유 μ˜μ‘΄μ„±μ— ν•΄λ‹Ή but λͺ¨λ‘ 그런 것은 X
  • ➑️ 아직 λ©”λͺ¨λ¦¬μ— μ—†λŠ” 데이터에 λŒ€ν•œ ν”„λ‘μ‹œ
  • νœ˜λ°œμ„± μ˜μ‘΄μ„± : 개발자 머신에 κΈ°λ³Έ μ„€μΉ˜λœ ν™˜κ²½ 외에 λŸ°νƒ€μž„ ν™˜κ²½μ˜ μ„€μ • 및 ꡬ성을 μš”κ΅¬ν•¨ or 비결정적 λ™μž‘μ„ 포함함 (e.g. λ‚œμˆ˜ 생성기 λ˜λŠ” ν˜„μž¬ λ‚ μ§œμ™€ μ‹œκ°„μ„ λ°˜ν™˜ν•˜λŠ” 클래슀)

 

λ‹¨μœ„ ν…ŒμŠ€νŠΈμ˜ μ •μ˜

  • μž‘μ€ μ½”λ“œ 쑰각을 κ²€μ¦ν•˜κ³ 
  • λΉ λ₯΄κ²Œ μˆ˜ν–‰ν•˜κ³ 
  • 격리된 λ°©μ‹μœΌλ‘œ μ²˜λ¦¬ν•¨

 

λŸ°λ˜νŒŒμ™€ κ³ μ „νŒŒ

  • λ‹¨μœ„ ν…ŒμŠ€νŠΈμ˜ μ •μ˜ 쀑 격리 방식 을 μ–΄λ–»κ²Œ λ°”λΌλ³΄λŠ”κ°€μ— λŒ€ν•œ 차이
  격리 주체 λ‹¨μœ„μ˜ 크기 ν…ŒμŠ€νŠΈ λŒ€μ—­ μ‚¬μš© λŒ€μƒ ν…ŒμŠ€νŠΈ 방식
런던파 (mockist) λ‹¨μœ„ 단일 클래슀 λΆˆλ³€ μ˜μ‘΄μ„± μ™Έ λͺ¨λ“  μ˜μ‘΄μ„± ν•˜ν–₯식 ν…ŒμŠ€νŠΈ
κ³ μ „νŒŒ (Detroit) λ‹¨μœ„ ν…ŒμŠ€νŠΈ 단일 클래슀 or 클래슀 μ„ΈνŠΈ 곡유 μ˜μ‘΄μ„± 상ν–₯식 ν…ŒμŠ€νŠΈ

 

  • ν˜‘λ ₯자 (collaborator) : κ³΅μœ ν•˜κ±°λ‚˜ λ³€κ²½ κ°€λŠ₯ν•œ μ˜μ‘΄μ„±
    • e.g) λ°μ΄ν„°λ² μ΄μŠ€ μ ‘κ·Ό κΆŒν•œμ„ μ œκ³΅ν•˜λŠ” 클래슀
    • 숫자 5 같은 κ²½μš°λŠ” μ˜μ‘΄μ„±μ΄μ§€λ§Œ ν˜‘λ ₯μžλŠ” μ•„λ‹˜ (λ³€κ²½ λΆˆκ°€) ➑️ κ°’ λ˜λŠ” κ°’ 객체둜 λΆ„λ₯˜λ¨

 

톡합 ν…ŒμŠ€νŠΈμ˜ μ •μ˜

  • λ‹¨μœ„ ν…ŒμŠ€νŠΈμ˜ μ •μ˜λ₯Ό ν•˜λ‚˜ 이상 μΆ©μ‘±ν•˜μ§€ μ•ŠλŠ” ν…ŒμŠ€νŠΈ
    • 곡유 μ˜μ‘΄μ„±μ— μ ‘κ·Όν•˜λŠ” ν…ŒμŠ€νŠΈ
    • ν”„λ‘œμ„ΈμŠ€ μ™ΈλΆ€ μ˜μ‘΄μ„±μ— μ ‘κ·Όν•΄μ„œ ν…ŒμŠ€νŠΈκ°€ λŠλ €μ§€λŠ” 경우
    • λ‘˜ μ΄μƒμ˜ λ™μž‘ λ‹¨μœ„λ₯Ό κ²€μ¦ν•˜λŠ” 경우
      • λ‹€λ₯Έ λ™μž‘ λ‹¨μœ„λ₯Ό κ²€μ¦ν•˜λŠ” 느린 ν…ŒμŠ€νŠΈκ°€ 두 개 μžˆμ„ λ•Œ, ν•˜λ‚˜λ‘œ ν•©μΉ˜λŠ” 것이 타당할 수 있음

μ—”λ“œ 투 μ—”λ“œ ν…ŒμŠ€νŠΈλž€?

  • 톡합 ν…ŒμŠ€νŠΈμ˜ 일뢀
  • μ—”λ“œ 투 μ—”λ“œ ν…ŒμŠ€νŠΈκ°€ 일반적으둜 μ˜μ‘΄μ„±μ„ 더 많이 포함
  • UI ν…ŒμŠ€νŠΈ, GUI ν…ŒμŠ€νŠΈ, κΈ°λŠ₯ ν…ŒμŠ€νŠΈμ™€ 같은 같은 말
  • μœ μ§€ 보수 μΈ‘λ©΄μ—μ„œ κ°€μž₯ λΉ„μš©μ΄ 많이 λ“€κΈ° λ•Œλ¬Έμ— λͺ¨λ“  ν…ŒμŠ€νŠΈλ₯Ό ν†΅κ³Όν•œ 후에 λΉŒλ“œ ν”„λ‘œμ„ΈμŠ€ ν›„λ°˜μ— μ‹€ν–‰ν•˜λŠ” 것이 μ’‹μŒ
  • e.g) ν†΅ν•©ν…ŒμŠ€νŠΈμ—λŠ” 결제 κ²Œμ΄νŠΈμ›¨μ΄λŠ” ν…ŒμŠ€νŠΈ λŒ€μ—­μœΌλ‘œ μ‚¬μš©ν•˜μ§€λ§Œ μ—”λ“œ 투 μ—”λ“œ ν…ŒμŠ€νŠΈμ—μ„œλŠ” λŒ€μ—­ μ‚¬μš© X
λ°˜μ‘ν˜•