-
[SOLID] μμ‘΄κ΄κ³ μμ μμΉμ΄λ?General/π’ General 2022. 2. 17. 23:46
Dependency inversion principle
κ³ μμ€μ λͺ¨λμ΄ μ μμ€μ λͺ¨λμ μ§μ μμ‘΄νμ§ μκ³ , μΈν°νμ΄μ€μ μμ‘΄νλ€.
μ μμ€μ λͺ¨λλ μ΄ μΈν°νμ΄μ€λ₯Ό μμ‘΄νλ€.
μ μμ€μ μ μ₯μμ μμ‘΄ λ°λ μ μ₯μμ μμ‘΄ νλ μ μ₯μΌλ‘ κ΄κ³κ° μμ λλ€.
μ²μ보면 μ΄ν΄κ° μ κ°μ§ μμ΅λλ€.
μλ μ€λͺ μ νλ² λ³ΌκΉμ?
High Level Module κ³Ό Low Level Module
λ³΄ν΅ λ λ§μ μ 보λ₯Ό κ°μ§κ³ μμΌλ©΄ νμ΄λ 벨 ( λλ¬Όμ )
μλμ μΌλ‘ μ μ μ 보λ₯Ό κ°μ§κ³ μμΌλ©΄ λ‘μ°λ 벨μ΄λΌκ³ μ€λͺ ν©λλ€. (λλ¬Όλ€)
μ 리νμλ©΄ λλ¬Όμμ νκ·, μ¬μ, μ½λΌλ¦¬μ μμ‘΄νκ³ μμ΅λλ€.
μ΄κ²μ΄ 보ν΅μ μμ°μ€λ¬μ΄ κ΄κ³μ λλ€.
νμ§λ§ ... νλ‘κ·Έλλ° μΈκ³μμλ...
μμ΄λ μ, ν λΌ λ± λλ¬Όλ€μ΄ κ³μ μΆκ°λλ©΄
λλ¬Όμμ λ λ§μ μμ‘΄μ΄ μκΈ°κ³ , λ³κ²½μ μ·¨μ½ν μ½λκ° λ©λλ€.
λ³κ²½μ μ·¨μ½νλ€λ μλ―Έλ
λ€λ₯Έ μ½λμ μμ μ μν₯μ ν¬κ² λ°λ λ€λ λ»μ λλ€.
μλ₯Ό λ€μ΄ νκ·μ΄ μμ λλ©΄, κ·Έ κΈ°λ₯μ μ¬μ©νλ λλ¬Όμλ μμ λμ΄μΌ ν©λλ€.
μμ‘΄νλ λλ¬Όμ΄ λ§μμλ‘, λλ¬Όμμ΄ μμ λ κ²½μ°κ° κΈ°νκΈμμ μΌλ‘ λ§μμ§λλ€.
μ΄κ²μ μ μ§λ³΄μμ μΈ‘λ©΄μμ ν΄μ μ λλ€.
μμ‘΄ κ΄κ³ μμ μμΉμ μμ κ°μ λ¬Έμ λ₯Ό ν΄κ²°ν©λλ€.
κ΄κ³κ° μμ λκ²μ΄ 보μ΄μλμ?
μμ‘΄μ λΉνλ μ μ₯μ΄λ νμλͺ¨λμ΄ μ€νλ € μμ‘΄μ νλ μ μ₯μ΄ λμμ΅λλ€.
μμ λ κ²μ λλ€.
μμλͺ¨λμ ꡬνμ²΄μΈ νμ λͺ¨λ λμ μΈν°νμ΄μ€μ μμ‘΄νκ³ , νμλͺ¨λλ μ΄ μΈν°νμ΄μ€λ₯Ό μμ‘΄νκ² ν©λλ€.
νμ λͺ¨λμ μμ μ΄ μΌμ΄λλ, μμ λͺ¨λμΈ λλ¬Όμμ λμ΄μ μμ λ νμκ° μμ΄μ‘μ΅λλ€.
κ°λ¨ μμ μ½λ
μ€λλ λλ μ±μ₯νλ€!!π₯
π€π’[μ°μ§±μ iOS λΈλ‘κ·Έ]π΅π»
iOSλ₯Ό 곡λΆνλ©΄μ λ°°μ΄ λ΄μ©μ κΈ°λ‘νκ³ μμ΅λλ€.[μ°Έκ³ λ§ν¬]
'General > π’ General' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Git] Cherry Pick μ¬μ©νκΈ° (2) 2022.02.20 [Design Patterns] μ΅μ λ² ν¨ν΄μ΄λ? (0) 2022.02.18 [Git] Rebase μ¬μ©νκΈ° (0) 2022.02.13 λ¬Έμμ΄ μΈμ½λ©μ΄λ? (0) 2022.02.12 ARM μ΄ν΄νκΈ° (0) 2021.12.27