[SOLID] μ’μ κ°μ²΄ μ§ν₯ μ€κ³μ 5κ°μΉ μμΉ
SOLIDλ?
νλ‘κ·Έλλ¨Έκ° μ μ§λ³΄μμ νμ₯μ΄ μ¬μ΄ νλ‘κ·Έλ¨μ λ§λ€κ³ μ ν λ μ μ©ν μ μλ μμΉ.
μμ€ μ½λκ° μ½κΈ° μ½κ³ , νμ₯νκΈ° μ¬μΈ λκΉμ§ 리ν©ν°λ§ν λ μ μ©ν μ μλ μ§μΉ¨μ΄λ€.
μ΄ μμΉμ μ μμΌ μννΈμ¨μ΄ κ°λ° μ λ΅μ μΌλΆμ΄λ€.
S(Single responsibilitty principle): λ¨μΌ μ± μ μμΉ
ν ν΄λμ€λ νλμ μ± μλ§ κ°μ ΈμΌ νλ€.
O(Open / closed principle): κ°λ°© - νμ μμΉ
μννΈμ¨μ΄ μμλ νμ₯μλ μ΄λ € μμΌλ λ³κ²½μλ λ«ν μμ΄μΌ νλ€.
L(Liskov substitution principle): 리μ€μ½ν μΉν μμΉ
κ°μ²΄λ νλ‘κ·Έλ¨μ μ νμ±μ κΉ¨λ¨λ¦¬μ§ μμΌλ©΄μ νμ νμ μ μΈμ€ν΄μ€λ‘ λ°κΏ μ μμ΄μΌ νλ€.
I(Interface segregation principle): μΈν°νμ΄μ€ λΆλ¦¬ μμΉ
νΉμ ν΄λΌμ΄μΈνΈλ₯Ό μν μΈν°νμ΄μ€ μ¬λ¬ κ°κ° λ²μ μΈν°νμ΄μ€ νλλ³΄λ€ λ«λ€.
D(Dependency inversion principle): μμ‘΄κ΄κ³ μμ μμΉ
νλ‘κ·Έλλ¨Έλ μΆμνμ μμ‘΄ν΄μΌμ§, ꡬ체νμ μμ‘΄νλ©΄ μλλ€.