SRP

2022. 10. 26. 14:42Spring

해당 예시는 김영한님의 인프런 강의 중 [스프링 핵심 원리]를 바탕으로 합니다.
DIP와 OCP와 연결되는 내용입니다.

SRP란?

SRP (Single Responsibility Principle) : 단일 책임 원칙

  • 한 클래스는 하나의 책임만 가져야한다.

이전의 리팩토링 이전의 코드에서는 serviceImpl에서 직접 구현 객체를 생성하고, 연결하고, 실행하는 다양한 책임을 가지고 있었다.
이 문제점을 해결하기 위해 구현 객체를 생성하고 연결하는 역할을 해주는 AppConfig를 따로 둠으로써 책임을 분리한다. 객체의 생성과 연결은 AppConfig 가 해주니 serviceImpl에서는 기능 실행하는 책임만 담당하면 된다. 각각의 책임이 확실해진다!

단일책임의 원칙을 준수함으로써 얻어지는 이점은

  • 구현 객체 생성과 연결의 역할에 집중하게 됨으로써 어플리케이션의 전체 구성을 쉽게 파악할 수 있다.
  • 추상클래스에 들어가는 구체클래스가 변경이 되어도 AppConfig에서만 고치면 된다.
  • 클라이언트 코드는 실행에만 집중할 수 있게 된다.
  • 단위가 작아져 테스트가 쉬워지고 종속성이 줄어들게 된다.

 

'Spring' 카테고리의 다른 글

스프링 컨테이너와 스프링 빈  (0) 2022.10.26
IOC와 DI  (0) 2022.10.26
DIP와 OCP  (0) 2022.10.26
redirect  (0) 2022.10.26
HTTP 응답  (0) 2022.10.26