β˜•

2022/01/07 회고

챕터
2μž₯ μ˜μ‘΄μ„± μ—­μ „ν•˜κΈ°

2μž₯. μ˜μ‘΄μ„± μ—­μ „ν•˜κΈ°


λ°•κΆŒκ·œ


SOLID 원칙 쀑 S와 D, 즉 단일 μ±…μž„ 원칙과 의쑴 μ—­μ „ 원칙에 λŒ€ν•΄ 닀루고 μžˆλ‹€. 단일 μ±…μž„ 원칙은 ν•œ ν΄λž˜μŠ€κ°€ ν•˜λ‚˜μ˜ 역할을 μˆ˜ν–‰ν•œλ‹€κΈ°λ³΄λ‹€λŠ” ν•œ ν΄λž˜μŠ€κ°€ 변경될 λ•ŒλŠ” 였직 ν•œ κ°€μ§€ 이유만 ν•΄λ‹Ήλ˜μ–΄μ•Ό ν•œλ‹€λŠ” 것이닀. μ΄λŠ” κ²°κ΅­ ν•œ ν΄λž˜μŠ€κ°€ λ‹€λ₯Έ 클래슀λ₯Ό μ˜μ‘΄ν•  λ•Œ ν•΄λ‹Ή 클래슀의 변화에 λŒ€ν•œ 영ν–₯을 μ΅œμ†Œν•œμœΌλ‘œ λ°›μ•„μ•Ό ν•˜λ©° 이λ₯Ό μœ„ν•΄μ„œλŠ” DIP, 즉 의쑴 μ—­μ „ 원칙을 μ μš©ν•΄μ•Όν•œλ‹€λŠ” 결둠에 이λ₯΄κ³  μžˆλ‹€.
이λ₯Ό μœ„ν•΄μ„œ λ„μ„œμ—μ„œλŠ” μœ‘κ°ν˜• μ•„ν‚€ν…μ²˜λΌλŠ” κ°œλ…μ„ μ œμ•ˆν•˜κ³  μžˆλŠ”λ° μ΄λŠ” 각 계측(μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ½”μ–΄-service, μ–΄λŒ‘ν„°-repository, controller λ“±)λ§ˆλ‹€ λ³„λ„μ˜ 도메인 λͺ¨λΈμ„ 두고 μΈν„°νŽ˜μ΄μŠ€λ₯Ό 톡해 계측 κ°„ μ˜μ‘΄μ„±μ„ μ΅œμ†Œν™”ν•˜κ³  μžˆλ‹€. 거기에 ν΄λΌμ΄μ–ΈνŠΈ β†’ 컨트둀러 β†’ μœ μŠ€μΌ€μ΄μŠ€ β†’ μ—”ν‹°ν‹°λΌλŠ” 단방ν–₯ μ˜μ‘΄κ΄€κ³„λ₯Ό κ°•μ œν•˜μ—¬ μ™ΈλΆ€ μ˜μ‘΄μ„±μ— 영ν–₯을 λ°›λŠ” 일이 없도둝 ν•˜λŠ” ν₯미둜운 μ•„ν‚€ν…μ²˜λ₯Ό μ œμ•ˆν•˜κ³  μžˆλ‹€.
말둜만 듀어보면 μ§€κΈˆκΉŒμ§€ ν•΄μ™”λ˜ controller, service, repository와 λ™μΌν•œ 게 μ•„λ‹Œκ°€ μ‹Άμ§€λ§Œ JPA μ—”ν‹°ν‹° ν•˜λ‚˜λ‘œλ§Œ λ‹€λ£¨λŠ”κ²Œ μ•„λ‹ˆλΌ 각 κ³„μΈ΅λ§ˆλ‹€ 도메인 λͺ¨λΈμ„ λ‘”λ‹€λ˜μ§€, μΈν„°νŽ˜μ΄μŠ€λ₯Ό 톡해 λŠμŠ¨ν•˜κ²Œ μ˜μ‘΄ν•œλ‹€λ˜μ§€ ν•˜λŠ” μƒˆλ‘œμš΄ 뢀뢄이 μžˆλ‹€.

김뢀희


 
 

μ΄ν•˜μ •