ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [SOLID] μ˜μ‘΄κ΄€κ³„ μ—­μ „ μ›μΉ™μ΄λž€?
    General/🟒 General 2022. 2. 17. 23:46

     

    Dependency inversion principle

     

    κ³ μˆ˜μ€€μ˜ λͺ¨λ“ˆμ΄ μ €μˆ˜μ€€μ˜ λͺ¨λ“ˆμ— 직접 μ˜μ‘΄ν•˜μ§€ μ•Šκ³ , μΈν„°νŽ˜μ΄μŠ€μ— μ˜μ‘΄ν•œλ‹€.

    μ €μˆ˜μ€€μ˜ λͺ¨λ“ˆλ„ 이 μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ˜μ‘΄ν•œλ‹€.

    μ €μˆ˜μ€€μ˜ μž…μž₯μ—μ„œ 의쑴 λ°›λŠ” μž…μž₯μ—μ„œ 의쑴 ν•˜λŠ” μž…μž₯으둜 관계가 μ—­μ „λœλ‹€.

     

    처음보면 이해가 잘 가지 μ•ŠμŠ΅λ‹ˆλ‹€.

    μ•„λž˜ μ„€λͺ…을 ν•œλ²ˆ λ³ΌκΉŒμš”?

     

    High Level Module κ³Ό Low Level Module

     

    보톡 더 λ§Žμ€ 정보λ₯Ό 가지고 있으면 ν•˜μ΄λ ˆλ²¨ ( 동물원 )

    μƒλŒ€μ μœΌλ‘œ 적은 정보λ₯Ό 가지고 있으면 둜우레벨이라고 μ„€λͺ…ν•©λ‹ˆλ‹€. (동물듀)

     

    μ •λ¦¬ν•˜μžλ©΄ 동물원은 νŽ­κ·„, μ‚¬μž, 코끼리에 μ˜μ‘΄ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

    이것이 보톡은 μžμ—°μŠ€λŸ¬μš΄ κ΄€κ³„μž…λ‹ˆλ‹€.

    ν•˜μ§€λ§Œ ... ν”„λ‘œκ·Έλž˜λ° μ„Έκ³„μ—μ„œλŠ”...

    μ–‘μ΄λ‚˜ μ†Œ, 토끼 λ“± 동물듀이 계속 μΆ”κ°€λ˜λ©΄

    동물원은 더 λ§Žμ€ 의쑴이 생기고, 변경에 μ·¨μ•½ν•œ μ½”λ“œκ°€ λ©λ‹ˆλ‹€.

     

    변경에 μ·¨μ•½ν•˜λ‹€λŠ” μ˜λ―ΈλŠ”

    λ‹€λ₯Έ μ½”λ“œμ˜ μˆ˜μ •μ— 영ν–₯을 크게 λ°›λŠ” λ‹€λŠ” λœ»μž…λ‹ˆλ‹€.

     

    예λ₯Ό λ“€μ–΄ νŽ­κ·„μ΄ μˆ˜μ •λ˜λ©΄, κ·Έ κΈ°λŠ₯을 μ‚¬μš©ν•˜λŠ” 동물원도 μˆ˜μ •λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

    μ˜μ‘΄ν•˜λŠ” 동물이 λ§Žμ„μˆ˜λ‘, 동물원이 μˆ˜μ •λ  κ²½μš°κ°€ κΈ°ν•˜κΈ‰μˆ˜μ μœΌλ‘œ λ§Žμ•„μ§‘λ‹ˆλ‹€.

    이것은 μœ μ§€λ³΄μˆ˜μ  μΈ‘λ©΄μ—μ„œ ν•΄μ•…μž…λ‹ˆλ‹€.

     

    의쑴 관계 μ—­μ „ 원칙은 μœ„μ™€ 같은 문제λ₯Ό ν•΄κ²°ν•©λ‹ˆλ‹€.

    λ³€κ²½ μ „ (μ™Όμͺ½), λ³€κ²½ ν›„ (였λ₯Έμͺ½)

     

    관계가 μ—­μ „ λœκ²ƒμ΄ λ³΄μ΄μ‹œλ‚˜μš”?

    μ˜μ‘΄μ„ λ‹Ήν•˜λŠ” μž…μž₯이던 ν•˜μœ„λͺ¨λ“ˆμ΄ 였히렀 μ˜μ‘΄μ„ ν•˜λŠ” μž…μž₯이 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

    μ—­μ „λœ κ²ƒμž…λ‹ˆλ‹€.

     

    μƒμœ„λͺ¨λ“ˆμ€ κ΅¬ν˜„μ²΄μΈ ν•˜μœ„ λͺ¨λ“ˆ λŒ€μ‹  μΈν„°νŽ˜μ΄μŠ€μ— μ˜μ‘΄ν•˜κ³ , ν•˜μœ„λͺ¨λ“ˆλ„ 이 μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ˜μ‘΄ν•˜κ²Œ ν•©λ‹ˆλ‹€.

    ν•˜μœ„ λͺ¨λ“ˆμ˜ μˆ˜μ •μ΄ μΌμ–΄λ‚˜λ„, μƒμœ„ λͺ¨λ“ˆμΈ 동물원은 더이상 μˆ˜μ •λ  ν•„μš”κ°€ μ—†μ–΄μ‘ŒμŠ΅λ‹ˆλ‹€.

     

    간단 μ˜ˆμ‹œ μ½”λ“œ

     

     


    μ˜€λŠ˜λ„ λ‚˜λŠ” μ„±μž₯ν–ˆλ‹€!!πŸ”₯

     

    πŸ€–πŸŸ’[우짱의 iOS λΈ”λ‘œκ·Έ]πŸ”΅πŸ’»

    iOSλ₯Ό κ³΅λΆ€ν•˜λ©΄μ„œ 배운 λ‚΄μš©μ„ κΈ°λ‘ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

     

    [참고 링크]

    https://www.youtube.com/watch?v=DYmtue0k1cc

    λŒ“κΈ€

μ–΄μ œλ³΄λ‹€ λ°œμ „ν•œ λ‚˜