상황 1. 할인 정책이 2가지가 있다. 하나는 무조건 1000원, 하나는 구매 금액 10퍼센트이다. 개발자 A씨는 경우에 따라 선택적으로 다른 동작을 취하게 하고 싶다. @Autowired로 의존성 주입받아 할인 interface의 구현체들을 Map or List에 받는다. (Map에 받을것임) 자동으로 주입된 할인정책 Map에서 원하는 구현체들을 꺼내어 원하는 상황마다 바꿔가며 사용할 것이다. 물론 클라이언트는 interface만 의존하고, 어떤 정책을 사용할지는 외부에서 인자로 받는다. 구현 Service단에서 로직을 구현했다. @Service class DiscountService { private final Map policyMap; private final List policies; //1. M..