작성
·
253
0
@Autowired
public DiscountService(Map<String, DiscountPolicy> policyMap, List<DiscountPolicy> policies) {
this.policyMap = policyMap;
this.policies = policies;
System.out.println("policyMap = "+policyMap);
System.out.println("policies = "+policies);
}
이 부분에서 나중에 policies를 discount()에서 사용하지 않는데 Map과 List를 다 생성자 파라미터로 써주신거는 Map이나 List 둘 중 하나를 사용해도 된다는 것을 보여주시려는 건가요?
만약에 List를 쓴다면 다음과 같이 discount를 바꿔줘야 하는게 맞나요?
public int discount(Member member, int price, int discountnum) {
DiscountPolicy discountPolicy=policies.get(discountnum);
return discountPolicy.discount(member, price);
}
테스트는 맞게 나오는데 그럼 policies에 fix, rate가 들어갈때 순서는 어떻게 정해지나요?
답변 1
0
안녕하세요. 지인님
Map이나 List 둘 중 하나를 사용해도 된다는 것을 보여주시려는 건가요?
-> 네 맞습니다.
만약에 List를 쓴다면 다음과 같이 discount를 바꿔줘야 하는게 맞나요?
-> List를 사용한다면 DiscountPolicy에 discountCode 같은 것을 넣어두고(설계를 고쳐야 겠지요?) 이것을 조회할 수 있게 만든 다음에, 루프를 돌면서 확인하는 방식을 사용하면 됩니다.
감사합니다.