방금 만든 RateDiscountPolicy를 적용하려면 13line 처럼 new RateDiscountPolicy()를 해주어야한다.
이거만 바 꾸면 진짜 끝! -> 하지만 이건 서비스 로직을 건드려야한다.
OrderServiceImpl은 추상(DiscountPolicy) 뿐만 아니라 구현(RateDiscountPolicy)에도 의존한다.
구현에 의존함. -> OCP, DIP 위반
구현에 의존함. -> OCP, DIP 위반
중요!!!!! FixDiscountPolicy를 RateDiscountPolicy로 변경하는 순간 OrderServiceImpl의 소스코드도 함께 변경해야 한다.
# 어떻게 이걸 해결하지????????
어떻게 추상에만 의존하도록하지???
그냥 이렇게 해!!! ㅋㅋ 당연히 NullPointException 나지....( 널에 점찍으면 NullPointException ㅋㅋㅋㅋ )
'Java, Spring > 스프링 핵심 원리 기본' 카테고리의 다른 글
3-4. AppConfig 리팩터링 (0) | 2022.08.06 |
---|---|
3-3. 관심사의 분리 (극도로 중요)(극도로 중요)(극도로 중요)(극도로 중요)(극도로 중요)(극도로 중요)(극도로 중요)(극도로 중요)(극도로 중요)(극도로 중요)(극도로 중요)(극도로 중요)(극도로 .. (0) | 2022.08.06 |
3-1. 새로운 할인 정책 개발 (0) | 2022.08.06 |
2-8. 주문과 할인 도메인 실행과 테스트 (0) | 2022.08.05 |
2-7. 주문과 할인 도메인 개발 (0) | 2022.08.05 |