ITEM 5: Dependency Injection
λ§μ ν΄λμ€κ° νλ μ΄μμ μμμ μμ‘΄νλ€. μ΄λ μ¬μ©νλ μμμ λ°λΌ λμμ΄ λ¬λΌμ§λ ν΄λμ€(νλ μ΄μμ μμμ μμ‘΄)μλ μ μ μ νΈλ¦¬ν° ν΄λμ€λ μ±κΈν΄ λ°©μμ΄ μ ν©νμ§ μλ€.
μΈμ€ν΄μ€λ₯Ό μμ±ν λ μμ±μμ νμν μμμ λ겨주λ λ°©μμ μ¬μ©νλ©΄, ν΄λμ€κ° μ¬λ¬ μμ μΈμ€ν΄μ€λ₯Ό μ§μνκ³ , ν΄λΌμ΄μΈνΈκ° μνλ μμμ μ¬μ©ν μ μλ€. μ΄ λ°©λ²μ μμ‘΄ κ°μ²΄ μ£Όμ μ ν ννλ‘ μ μ°μ±κ³Ό μ¬μ¬μ©μ±, ν μ€νΈ μ©μ΄μ±μ λμ¬μ€λ€.
μμ μμμμλ λ¨μν νκ°μ μμλ§ μ¬μ©νμ§λ§, μμμ΄ λͺ κ°λ μμ‘΄ κ΄κ³κ° μ΄λ»κ² λλ μ μλνλ€. λΆλ³μ 보μ₯νμ¬ μ¬λ¬ ν΄λΌμ΄μΈνΈκ° μμ‘΄ κ°μ²΄λ₯Ό μμ¬νκ³ μ¬μ©ν μ μλ€. μμ‘΄ κ°μ²΄ μ£Όμ μ μμ±μ, μ μ ν©ν°λ¦¬, Builder λͺ¨λμ λκ°μ΄ μ μ© ν μ μλ€.
Factoryλ νΈμΆν λλ§λ€ νΉμ νμ μ μΈμ€ν΄μ€λ₯Ό λ°λ³΅ν΄μ λ§λ€μ΄ μ£Όλ κ°μ²΄λ₯Ό λ§νλλ°, Factory Method Patternμ μμ‘΄ κ°μ²΄ μ£Όμ ν¨ν΄μ μμ©ν΄μ ꡬνν κ²μ΄λ€.
Supplier<T>
μΈν°νμ΄μ€λ ν©ν°λ¦¬λ₯Ό ννν μλ²½ν μμμ΄λ€. μ΄ λ°©μμ μ¬μ©ν΄ ν΄λΌμ΄μΈνΈλ μμ μ΄ λͺ
μν νμ
μ νμ νμ
μ΄λΌλ©΄ 무μμ΄λ μμ±ν μ μλ ν©ν°λ¦¬λ₯Ό λ§λ€ μ μλ€.
μμ‘΄ κ°μ²΄ μ£Όμ μ΄ μ μ°μ±κ³Ό ν μ€νΈ μ©μ΄μ±μ κ°μ ν΄μ£Όμ§λ§, μμ‘΄μ±μ΄ λ무 λ§μ νλ‘μ νΈμμλ μ½λλ₯Ό μ΄μ§λ½κ² νλ©°, μ€νλ§ κ°μ μμ‘΄ κ°μ²΄ μ£Όμ νλ μμν¬λ₯Ό μ¬μ©ν΄ μ½λμ μ΄μ§λ¬μμ ν΄μν μ μλ€.
Last updated