Closed Glsme closed 1 year ago
νλ‘κ·Έλλ¨Έκ° μκ°μ΄ μ§λλ μ μ§ λ³΄μμ νμ₯μ΄ μ¬μ΄ μμ€ν μ λ§λ€κ³ μ ν λ μ΄ μμΉλ€μ ν¨κ» μ μ©ν μ μμ΅λλ€. SOLID μμΉλ€μ μννΈμ¨μ΄ μμ μμ νλ‘κ·Έλλ¨Έκ° μμ€ μ½λκ° μ½κΈ° μ½κ³ νμ₯νκΈ° μ½κ² λ λκΉμ§ μννΈμ¨μ΄ μμ€ μ½λλ₯Ό 리νν λ§ νμ¬ μ½λ λμ(μ½λμμ λ μ¬μ€ν λ¬Έμ λ₯Ό μΌμΌν¬ κ°λ₯μ±μ΄ μλ μ½λμ νΉμ§)λ₯Ό μ κ±°νκΈ° μν΄ μ μ©ν μ μλ μ§μΉ¨μ λλ€!
μ¦, κ°μ²΄ μ€κ³μ νμν 5κ°μ§ μμΉμΌλ‘μ¨ μ μ§λ³΄μκ° μ½κ³ , μ μ°νκ³ , νμ₯μ΄ μ¬μ΄ μννΈμ¨μ΄λ₯Ό λ§λ€κΈ° μν μλ¨
SOLIDλ? κ°μ²΄ μ§ν₯ νλ‘κ·Έλ¨ λ° μ€κ³μ λ€μ―κ°μ§ κΈ°λ³Έ μμΉ
SOLIDλ κ°μ²΄μ§ν₯μ 5κ°μ§ μμΉμ μλ―Έ
λͺ¨λ λͺ¨λμ λ¨ νλμ μ± μμ κ°μ ΈμΌ νλ€λ κ².
extensionμλ κ°λ°©, μμ μλ νμ
λ² μ΄μ€ ν΄λμ€μ ν¬μΈν°λ μ°Έμ‘°λ₯Ό μ¬μ©νλ ν¨μλ λ°λμ νμλ ν΄λμ€μ κ°μ²΄λ₯Ό (μμ§λͺ»νλλΌλ) μ¬μ©ν μ μμ΄μΌνλ€.
ν΄λΌμ΄μΈνΈλ μ¬μ©νμ§ μλ μΈν°νμ΄μ€λ₯Ό ꡬννμ§ μμμΌνλ κ². νλμ ν° μΈν°νμ΄μ€λ³΄λ€, κ°κ° νλμ μμ μλΈλͺ¨λμ μ 곡νλ λ©μλ κ·Έλ£Ήμ μμ μΈν°νμ΄μ€κ° λ§μ κ²μ΄ λ μ νΈλ¨.
μμλ 벨 λͺ¨λμ νμλ 벨 λͺ¨λμ μμ‘΄ν΄μλ μλλ©°, λ λ€ μΆμνμ μμ‘΄ν΄μΌνλ€. μΆμνλ μΈλΆμ¬νμ μμ‘΄νλ κ²μ΄ μλλΌ, μΈλΆμ¬νμ΄ μΆμνμ μμ‘΄ν΄μΌ νλ€.
- ν΄λμ€λ ν¨μλ₯Ό μ€κ³ν λ, κ° λ¨μλ€μ λ¨ νλμ μ±
μ λ§μ κ°μ ΈμΌ νλ μμΉ
- νλμ ν΄λμ€μ νλμ μ±
μ λ§μ κ°μ ΈμΌνλ€.
- ex) APIService, Repository
- κΈ°μ‘΄μ μ½λλ λ³κ²½νμ§ μμΌλ©΄μ(Closed), κΈ°λ₯μ μΆκ°ν μ μλλ‘(Open) μ€κ³
- κΈ°μ‘΄μ μ½λλ₯Ό λ³κ²½ν΄μΌνμ§ μκΈ° λλ¬Έμ κΈ°λ₯ μΆκ°λ§ ν μ μλλ‘ μΆμν μμ
μ΄ μ€μνλ€.
- λΆλͺ¨ ν΄λμ€ μΈμ€ν΄μ€λ‘ λμκ°λ κ³³μ, μμ ν΄λμ€ μΈμ€ν΄μ€λ₯Ό λ£μμ λ λμΌν κ²°κ³Ό κ°μ λνλ΄μΌ νλ€.
- μ¬μ©νμ§ μλ μΈν°νμ΄μ€λ ꡬννμ§ λ§μμΌνλ€.
- ex) νλ‘ν μ½ μ¬μ© μ
- μμ λͺ¨λμ νμ λͺ¨λμ μμ‘΄ν΄μλ μλλ©°, λ λͺ¨λ λͺ¨λ μΆμνμ μμ‘΄νκ² λ§λ€μ΄μΌ νλ€.
- λ³΄ν΅ νλ‘ν μ½(μΆμν)λ₯Ό λ§λ€μ΄ μμ‘΄νκ² νλ€.
- μ¦, μ€κ° λ€λ¦¬ μν , μ μ§λ³΄μ κ°μ΄λ
ποΈ λ§κ°μΌ
2023.01.29
π μ°Έμ¬μ
β οΈ λ§μ§λ§μΌλ‘ λ΅λ³ λ¨ μ¬λμ΄ μ΄μ close νκ³ λ¦¬λλ―Έμ νλͺ© μ λ°μ΄νΈ ν΄μ£ΌμΈμ.