2021. 12. 10. 11:26γBe Ready
SRP : λ¨μΌ μ± μμ μμΉ (Single Responsibility principle)
-> ν ν΄λμ€λ νλμ μ± μλ§ κ°μ ΈμΌ νλ€.
μμ ν ν΄λμ€κ° νλμ μ± μμ κ°μ ΈμΌνλ€. μ΄κ²λ§ 보면 λ§μ μ΄ν΄κ° κ°μ§λ§ νλμ μ± μ?? μ΄λ κ² μκ°νκ² λλ€.
κ·Έλ¦¬κ³ κ·Έ μ± μμ΄λ κ²λ κΈ°μ€μ΄ μ 맀νλ€.
μ΄λ₯Ό μ’λ μ½κ² μκ°νλ©΄ μ± μμ κΈ°μ€μ "λ³κ²½"μ΄λΌκ³ ν μ μλ€.
λ³κ²½μ΄ μμ λ νκΈ ν¨κ³Όκ° μ μΌλ©΄ λ¨μΌ μ± μ μμΉμ μ λ°λ₯Έκ²μ΄ λλ€.
OCP : κ°λ°©-νμμ μμΉ (Open/Closed principle)
-> μννΈμ¨μ΄ μμλ νμ₯μλ μ΄λ € μμ΄μΌ νλ λ³κ²½μλ λ«ν μμ΄μΌ νλ€.
κ°λ°©-νμμ μμΉ μμ λ§λΆν°κ° μ΄ν΄κ° μλλ€γ γ γ
κ·Έλ°λ° μ½λλ‘ μκ°μ ν΄λ³΄λ©΄, μΈν°νμ΄μ€λ₯Ό ꡬννκ³ , μ΄λ₯Ό ꡬννλ ν΄λμ€λ ꡬν κ°μ²΄κ° μλ€.
μΈν°νμ΄μ€ νλλ₯Ό λκ³ , μ΄μ μλ‘μ΄ κΈ°μ μ λμ ν΄μ μλ‘κ² μΈν°νμ΄μ€λ₯Ό ꡬνν ν΄λμ€λ₯Ό λ§λ€μ΄ κΈ°μ νμ₯μ΄ κ°λ₯νλ€.
κ·Έλ°λ° λ³κ²½μ λ«νμμ΄μΌ νλ€λ κ²μ ν΄λΌμ΄μΈνΈμ μ½λ?λΌκ³ ν΄μΌν κΉ μλ¬΄νΌ μ΄ μΈν°νμ΄μ€λ₯Ό μ¬μ©νλ κ³³μμ λ³κ²½μ΄ μμ΄μΌνλλ° μΈν°νμ΄μ€λ₯Ό ꡬνν ν΄λμ€1μμ ν΄λμ€2λ‘ λ°κΏλ λ³κ²½μ΄ μΌμ΄λκΈ° λλ¬Έμ μ΄ μμΉμ΄ κΉ¨μ§ μλ°μ μλ€. (κ·Έλμ μ€νλ§)
LSP : 리μ€μ½ν μΉν μμΉ (Liskov substitution principle)
-> νλ‘κ·Έλ¨μ κ°μ²΄λ νλ‘κ·Έλ¨μ μ νμ±μ κΉ¨λ¨λ¦¬μ§ μμΌλ©΄μ νμ νμ μ μΈμ€ν΄μ€λ‘ λ°κΏ μ μμ΄μΌ νλ€.
μ΄λ μ¦ λ€νμ±μμ νμν΄λμ€λ€μ μΈν°νμ΄μ€μ κ·μ½μ λ€ μ§μΌμΌ νλ€λ κ²μ΄λ€. λ€νμ±μ μ§μνκΈ° μν μμΉ, μΈν°νμ΄μ€λ₯Ό ꡬνν ꡬν체λ λ―Ώκ³ μ¬μ©νλ €λ©΄ μ΄ μμΉμ΄ νμνλ€.
μΆμνμΈ μΈν°νμ΄μ€λ₯Ό λ§λ€κ³ , μ΄λ₯Ό ꡬννλ ν΄λμ€λ₯Ό λ§λ€λ μΈν°νμ΄μ€μμ μ ν κ·μ½μ μ§μΌμΌνλ€λ κ²μ΄λ€.
ISP : μΈν°νμ΄μ€ λΆλ¦¬ μμΉ (Interface segregation principle)
-> νΉμ ν΄λΌμ΄μΈνΈλ₯Ό μν μΈν°νμ΄μ€ μ¬λ¬ κ°κ° λ²μ© μΈν°νμ΄μ€ νλλ³΄λ€ λ«λ€!
μ΄κ±΄ νλμ μΈν°νμ΄μ€μ λ€ λ§λ€μ΄λ²λ¦¬λ©΄ κΈ°λ₯1, κΈ°λ₯2 κ° μλ€κ³ νλ€λ©΄
κΈ°λ₯1μ λ³κ²½νκ³ μΆμλ° νλμ μΈν°νμ΄μ€μ λ€ μλ€λ©΄ ν΄λΌμ΄μΈνΈμλ μν₯μ΄ κ°λ€.
κ·Έλ¬λ―λ‘ κΈ°λ₯μ λ°λΌ λΆλ€Όλ₯Ό νλ©΄ μΈν°νμ΄μ€λ λͺ νν΄μ§λ©°, λ체ν μλ μλ€.
DIP : μμ‘΄κ΄κ³ μμ μμΉ ( Dependency inversion principle)
-> νλ‘κ·Έλλ¨Έλ μΆμνμ μμ‘΄ν΄μΌμ§ ꡬ체νμ μμ‘΄νλ©΄ μλλ€.
μ¦ κ΅¬ν ν΄λμ€μ μμ‘΄νλ κ²μ΄ μλλΌ μΈν°νμ΄μ€μ μμ‘΄νλΌλ λ»μ΄λ€!!