새로 개발한 정률 할인 정책을 적용하려고 하니 클라이언트 코드인 주문 서비스 구현체도 함께 변경해야했음 → OCP 위반
주문 서비스 클라이언트가 인터페이스인 DiscountPolicy 뿐만 아니라, 구체 클래스인 FixDiscountPolicy 도 함께 의존 → DIP 위반
추상화에만 의존해야하는데 구체적인 것 까지 의존하고 있었습니다.
그래서 생각을 해보면 클라이언트 코드인 주문 서비스 구현체가 너무 많은 역할을 하고 있었던 것 입니다. 주문과 관련된 기능도 개발해야하고 FixdiscountPolicy 객체도 생성하고 ... 그래서 관심사를 분리 했습니다.