인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

이재윤's profile image
이재윤

asked

Spring Core Principles - Basics

When all the bins you have looked up are needed, List, Map

OCP 위반인지 여쭤봅니다

Written on

·

223

1

안녕하세요 선생님, 강의 듣고나서 궁금한 점이 생겨 여쭤봅니다. 

int discountPrice = discountService.discount(member, 10000, "fixDiscountPolicy");

int rateDiscountPrice = discountService.discount(member, 20000, "rateDiscountPolicy");

이렇게 호출하게 되면 결국 구현체의 빈 이름을 명시하게 된 것이라고 이해되는데, 추후 빈의 이름이 변경되거나 하는 등의 사항이 발생하면 클라이언트에도 영향이 미치기 때문에 OCP 위반이라고 볼 수 있는건가요 ??  혹시 그렇다면 , 이건 여러개의 구현체 중 하나를 골라야하는 상황이기 때문에 어쩔 수 없다고 생각하면 되는건가요 ?? 

oopspring

Answer 1

2

yh님의 프로필 이미지
yh
Instructor

안녕하세요. 재윤님

핵심은 향후 기능의 변경이 있을 때 클라이언트 코드에 변경이 발생하는가 입니다.

여기서 DiscountPolicy를 호출하는 클라이언트 코드가 DiscountService이기 때문에 OCP를 위반하지는 않습니다.

감사합니다.

이재윤's profile image
이재윤

asked

Ask a question