β SOLID?
- μννΈμ¨μ΄ λμμΈ λ° κ°λ°μμ μ’μ κ°μ²΄ μ§ν₯ μ€κ³λ₯Ό μν΄ λ°λΌμΌ νλ 5κ°μ§ μμΉμ΄λ€.
- ν΄λ¦°μ½λλ‘ μ λͺ ν λ‘λ²νΈ λ§ν΄μ΄ μ 리ν μμΉμ΄λ€.
- SRP, OCP, LSP, ISP, DIPμ μ½μμ΄λ€.
β SRP(Single Responsibility Principle, λ¨μΌ μ± μ μμΉ)
- νλμ ν΄λμ€λ νλμ μ± μλ§ κ°μ ΈμΌ νλ€.
- μ νν λ§νλ©΄, νλμ λͺ¨λμ μ€μ§ νλμ μ‘ν°μ λν΄μλ§ μ± μμ ΈμΌ νλ€.
- μλ‘ λ€λ₯Έ μ‘ν°κ° μμ‘΄νλ μ½λλ λΆλ¦¬μμΌμΌ νλ€.
- λ³κ²½μ΄ μμ λ νκΈ ν¨κ³Όκ° μ μΌλ©΄ λ¨μΌ μ± μ μμΉμ μ λ°λ₯Έ κ²μ΄λ€.
- λ°λΌμ λ¨μΌ λͺ¨λμ λ³κ²½μ μ΄μ κ° μ€μ§ νλλΏμ΄μ΄μΌ νλ€.
- μ΄κ²μ ν΄λμ€μ κΈ°λ₯μ λͺ ννκ² μ μνκ³ , μμ , μ μ§λ³΄μλ₯Ό μ©μ΄νκ² λ§λ λ€.
β OCP(Open / Closed Principle, κ°λ°©-νμ μμΉ)
- μννΈμ¨μ΄ μμλ νμ₯μλ μ΄λ € μκ³ , λ³κ²½μλ λ«νμμ΄μΌ νλ€.
- OCPλ₯Ό μ§ν€λ©΄ μλ‘μ΄ κΈ°λ₯μ μΆκ°ν λ κΈ°μ‘΄ μ½λλ₯Ό μμ νμ§ μλλ‘ νμ¬, κΈ°μ‘΄ μ½λμ μμ μ±μ μ μ§ν μ μκ² λλ€.
- μ€νλ§μμλ 컨ν μ΄λκ° OCPλ₯Ό μ§ν€λλ‘ λμμ£Όλ μν μ νλ€
- OCPλ₯Ό μ§ν€κΈ° μν΄μλ μμ€ν μ μ»΄ν¬λνΈ λ¨μλ‘ λΆλ¦¬νκ³ , μ μμ€ μ»΄ν¬λνΈμμ λ°μν λ³κ²½μΌλ‘λΆν° κ³ μμ€ μ»΄ν¬λνΈλ₯Ό 보νΈν μ μλ ννμ κ³μΈ΅κ΅¬μ‘°κ° λ§λ€μ΄μ§λλ‘ ν΄μΌ νλ€.
β LSP(Liskov Substitution Principle, 리μ€μ½ν μΉν μμΉ)
- νλ‘κ·Έλ¨μ κ°μ²΄λ νλ‘κ·Έλ¨μ μ νμ±μ κΉ¨λ¨λ¦¬μ§ μμΌλ©΄μ νμ νμ μ μΈμ€ν΄μ€λ‘ λ°κΏ μ μμ΄μΌ νλ€. (λ€νμ± μ μ§)
- λ€νμ±μμ νμ ν΄λμ€λ λ¨μν μ»΄νμΌμ μ±κ³΅νλ κ²μ λμ΄μμ, μΈν°νμ΄μ€ κ·μ½μ λͺ¨λ μ§μΌμΌ νλ€.
β ISP(Interface Segregation Principle, μΈν°νμ΄μ€ λΆλ¦¬ μμΉ)
- νΉμ ν΄λΌμ΄μΈνΈλ₯Ό μν μΈν°νμ΄μ€ μ¬λ¬ κ°κ° ν κ°μ λ²μ© μΈν°νμ΄μ€λ³΄λ€ λ«λ€.
- μΈν°νμ΄μ€λ₯Ό λΆλ¦¬νλ©΄ μΈν°νμ΄μ€κ° λͺ νν΄μ§κ³ , μμ‘΄μ±μ΄ μ΅μνλλ©°, λ체 κ°λ₯μ±μ΄ λμμ§λ€.
β DIP(Dependency Inversion Principle, μμ‘΄κ΄κ³μμ μμΉ)
- νλ‘κ·Έλλ¨Έλ μΆμνμ μμ‘΄ν΄μΌμ§, ꡬ체νμ μμ‘΄νλ©΄ μ λλ€.
- μ¦, ꡬν ν΄λμ€μ μμ‘΄νμ§ λ§κ³ , μΈν°νμ΄μ€μ μμ‘΄ν΄μΌ νλ€.
- ꡬν체μ μμ‘΄νκ² λ κ²½μ° λ³κ²½μ΄ μμ£Ό μ΄λ €μμ§λ€!!
'κ°μΈ κ³΅λΆ > WEB' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
@ModelAttribute (0) | 2024.03.01 |
---|---|
[κ°μ μ 리] μ€νλ§ MVC νμ© (1) | 2024.02.29 |
304 NOT MODIFIED (0) | 2024.02.28 |
[κ°μ μ 리] μ€νλ§ MVC μ€μ (2) (0) | 2024.02.21 |
HTTP νλ‘ν μ½ (0) | 2023.08.14 |