Java/Spring
DI의 탄생
본명은이점례
2021. 8. 10. 15:18
728x90

OrderServiceImpl의 경우 DiscountPolicy(추상 클래스)뿐만 아니라 Rate 혹은 FixDiscountPolicy()를 의존하고 있다.
*의존을 알고 있다라고 생각하면 편하다. => OCP 위반
그에 따라 fix -> rate로 구현체로 바뀔 때에도 클라이언트에서 수정을 해야한다. => DIP 위반
따라서,

위의 해결방법은 누군가가 OrderServiceImpl에 RateDiscountPolicy라는 구현 객체를 직접 생성하고 주입시켜줘야 한다. (DI의 탄생)
728x90