Java/Spring

DI의 탄생

본명은이점례 2021. 8. 10. 15:18
728x90

OrderServiceImpl의 경우 DiscountPolicy(추상 클래스)뿐만 아니라 Rate 혹은 FixDiscountPolicy()를 의존하고 있다. 

*의존을 알고 있다라고 생각하면 편하다. => OCP 위반

 

그에 따라 fix -> rate로 구현체로 바뀔 때에도 클라이언트에서 수정을 해야한다. => DIP 위반

 

 

 

따라서,

 

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

 

 

728x90