객체 지향 원리 적용
2023. 9. 26. 07:04ㆍLECTURES/스프링 핵심 원리 기본편
정률 할인 기능 추가
문제점
- 할인 정책을 변경하려면 클라이언트인
OrderServiceImpl
코드를 고쳐야 함- Before :
private final DiscountPolicy discountPolicy = new FixDiscountPolicy();
- After :
private final DiscountPolicy discountPolicy = new RateDiscountPolicy();
- OCP 위반
- Before :
OrderServiceImpl
클래스는 인터페이스인DiscountPolicy
뿐만 아니라 구체 클래스인FixDiscountPolicy
와RateDiscountPolicy
에도 의존- DIP 위반
- 구현체 없이는 코드를 실행할 수 없음
- 구현 객체를 대신 생성하고 주입해 주는 클래스 필요
관심사의 분리
AppConfig의 등장
- 애플리케이션의 전체 동작 방식을 구성하기 위해 구현 객체를 생성하고 연결하는 책임을 가지는 별도의 설정 클래스
AppConfig 리팩터링
IoC(Inversion Of Control) 제어의 역전
- 프로그램의 제어 흐름을 직접 제어하는 것이 아니라 외부에서 관리하는 것
- AppConfig처럼 객체를 생성하고 관리하면서 의존관계를 연결해 주는 것을 IoC 컨테이너 또는 DI컨테이너라 함
스프링으로 전환
스프링 핵심 원리 - 기본편 - 인프런 | 강의
스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 백엔드 개발자가 되어보세요! 📢
www.inflearn.com
'LECTURES > 스프링 핵심 원리 기본편' 카테고리의 다른 글
컴포넌트 스캔 (0) | 2023.09.26 |
---|---|
싱글톤 컨테이너 (0) | 2023.09.26 |
스프링 컨테이너와 스프링 빈 (0) | 2023.09.26 |
예제 만들기 (0) | 2023.09.26 |
객체 지향 설계와 스프링 (0) | 2023.09.26 |