CS
[Java] SOLID
moaoh
2024. 3. 21. 15:21
μ’μ κ°μ²΄ μ§ν₯ μ€κ³μ 5κ°μ§ μμΉ SOLID
SRC: λ¨μΌ μ± μ μμΉ
- ν ν΄λμ€λ νλμ μ± μλ§ κ°μ ΈμΌνλ€.
- λ³κ²½μ΄ μμ λ νκΈ ν¨κ³Όκ° μ μΌλ©΄ λ¨μΌ μ± μ μμΉμ μ λ°λ₯Έ κ² ( UI λ³κ²½, κ°μ²΄μ μμ±κ³Ό μ¬μ©μ λΆλ¦¬ λ± )
OCP: κ°λ°©-νμ μμΉ
- μννΈμ¨μ΄ μμλ νμ₯μλ μ΄λ €μμΌλ λ³κ²½μλ λ«ν μμ΄μΌνλ€.
- λ€νμ±μ νμ©νλ©΄ νμ₯μλ μ΄λ €μμΌλ λ³κ²½μλ λ«νμκ² ν μ μλ€.
- μμ κ·Έλ¦Όκ³Ό κ°μ κ°λ μ μ΄μΌκΈ°νλ€.
- OCPλ₯Ό μ§ν€κΈ°μν΄μλ κ°μ²΄λ₯Ό μμ±νκ³ , μ°κ΄κ΄κ³λ₯Ό λ§Ίμ΄μ£Όλ λ³λμ 쑰립, μ€μ μκ° νμνλ€.
LSP: 리μ€μ½ν μΉν μμΉ
- νλ‘κ·Έλ¨μ κ°μ²΄λ νλ‘κ·Έλ¨μ μ νμ±μ κΉ¨λ¨λ¦¬μ§ μμΌλ©΄μ νμ νμ μ μΈμ€ν΄μ€λ‘ λ°κΏ μ μμ΄μΌνλ€.
- νμν΄λμ€λ μμ μΈν°νμ΄μ€μ κ·μ½μ λ€ μ§μΌμΌνλ€.
ISP: μΈν°νμ΄μ€ λΆλ¦¬ μμΉ
- νΉμ ν΄λΌμ΄μΈνΈλ₯Ό μν μΈν°νμ΄μ€ μ¬λ¬ κ°κ° λ²μ© μΈν°νμ΄μ€ νλλ³΄λ€ λ«λ€.
- κΈ°λ₯λ€μ μν©μ λ§κ² μ λΉν ν¬κΈ°λ‘ μ μͺΌκ°λ κ² μ€μνλ€.
- μΈν°νμ΄μ€λ₯Ό λΆλ¦¬ν΄λ ν΄λΌμ΄μΈνΈμ μν₯μ μ£Όμ§μλλ€.
- μΈν°νμ΄μ€κ° λͺ νν΄μ§κ³ , λ체 κ°λ₯μ±μ΄ λμμ§λ€.
DIP: μμ‘΄κ΄κ³ μμ μμΉ
- “μΆμνμ μμ‘΄ν΄μΌμ§, ꡬ체νμ μμ‘΄νλ©΄ μλλ€.”
- ν΄λΌμ΄μΈνΈκ° κ°λ°ν λ ꡬν ν΄λμ€μ μμ‘΄ν΄μ κ°λ°μ ν΄μλ μλκ³ , μΈν°νμ΄μ€μ μμ‘΄ν΄μ κ°λ°μ ν΄μΌνλ€.
- ν΄λΌμ΄μΈνΈκ° μΈν°νμ΄μ€μ μμ‘΄ν΄μΌ μ μ°νκ² κ΅¬ν체λ₯Ό λ³κ²½ν μ μλ€. ꡬν체μ μμ‘΄νκ² λλ©΄ λ³κ²½μ΄ μμ£Ό μ΄λ €μμ§λ€.
κ²°λ‘
- κ°μ²΄ μ§ν₯μ ν΅μ¬μ λ€νμ±