2μ₯. μμ‘΄μ± μμ νκΈ°
λ°κΆκ·
SOLID μμΉ μ€ Sμ D, μ¦ λ¨μΌ μ±
μ μμΉκ³Ό μμ‘΄ μμ μμΉμ λν΄ λ€λ£¨κ³ μλ€. λ¨μΌ μ±
μ μμΉμ ν ν΄λμ€κ° νλμ μν μ μννλ€κΈ°λ³΄λ€λ ν ν΄λμ€κ° λ³κ²½λ λλ μ€μ§ ν κ°μ§ μ΄μ λ§ ν΄λΉλμ΄μΌ νλ€λ κ²μ΄λ€. μ΄λ κ²°κ΅ ν ν΄λμ€κ° λ€λ₯Έ ν΄λμ€λ₯Ό μμ‘΄ν λ ν΄λΉ ν΄λμ€μ λ³νμ λν μν₯μ μ΅μνμΌλ‘ λ°μμΌ νλ©° μ΄λ₯Ό μν΄μλ DIP, μ¦ μμ‘΄ μμ μμΉμ μ μ©ν΄μΌνλ€λ κ²°λ‘ μ μ΄λ₯΄κ³ μλ€.
μ΄λ₯Ό μν΄μ λμμμλ μ‘κ°ν μν€ν
μ²λΌλ κ°λ
μ μ μνκ³ μλλ° μ΄λ κ° κ³μΈ΅(μ ν리μΌμ΄μ
μ½μ΄-service, μ΄λν°-repository, controller λ±)λ§λ€ λ³λμ λλ©μΈ λͺ¨λΈμ λκ³ μΈν°νμ΄μ€λ₯Ό ν΅ν΄ κ³μΈ΅ κ° μμ‘΄μ±μ μ΅μννκ³ μλ€. κ±°κΈ°μ ν΄λΌμ΄μΈνΈ β 컨νΈλ‘€λ¬ β μ μ€μΌμ΄μ€ β μν°ν°λΌλ λ¨λ°©ν₯ μμ‘΄κ΄κ³λ₯Ό κ°μ νμ¬ μΈλΆ μμ‘΄μ±μ μν₯μ λ°λ μΌμ΄ μλλ‘ νλ ν₯λ―Έλ‘μ΄ μν€ν
μ²λ₯Ό μ μνκ³ μλ€.
λ§λ‘λ§ λ€μ΄λ³΄λ©΄ μ§κΈκΉμ§ ν΄μλ controller, service, repositoryμ λμΌν κ² μλκ° μΆμ§λ§ JPA μν°ν° νλλ‘λ§ λ€λ£¨λκ² μλλΌ κ° κ³μΈ΅λ§λ€ λλ©μΈ λͺ¨λΈμ λλ€λμ§, μΈν°νμ΄μ€λ₯Ό ν΅ν΄ λμ¨νκ² μμ‘΄νλ€λμ§ νλ μλ‘μ΄ λΆλΆμ΄ μλ€.