오늘이라도

[III. 객체 지향 원리 적용] 5. 새로운 구조와 할인 정책 적용 본문

인프런/스프링 핵심 원리 - 기본편 (김영한)

[III. 객체 지향 원리 적용] 5. 새로운 구조와 할인 정책 적용

upcake_ 2023. 1. 19. 09:57
반응형

강의 링크

 

※ 코드는 저작권 상 올릴 수 없다고 합니다 ㅜㅜ


1. 새로운 구조와 할인 정책 적용

 - 처음으로 돌아가서 정액 할인 정책을 정률% 할인 정책으로 변경해보자.

 - FixDiscountPolicyRateDiscountPolicy

 - 어떤 부분만 변경하면 되겠는가?

  => AppConfig의 등장으로 애플리케이션이 크게 사용 영역과, 객체를 생성하고 구성(Configuration)하는 영역으로 분리되었다.

 

사용, 구성의 분리

 

할인 정책의 변경

 - FixDiscountPolicyRateDiscountPolicy로 변경해도 구성 영역만 영향을 받고, 사용 영역은 전혀 영향을 받지 않는다.

 - AppConfig에서 할인 정책 역할을 담당하는 구현을 FixDiscountPolicy  RateDiscountPolicy객체로 변경했다.

 - 이제 할인 정책을 변경해도, 애플리케이션의 구성 역할을 담당하는 AppConfig만 변경하면 된다.

 - 클라이언트 코드인 OrderServiceImpl을 포함해서 사용 영역의 어떤 코드도 변경할 필요가 없다.

 - 구성 영역은 당연히 변경된다. 구성 역할을 담당하는 AppConfig의 애플리케이션이라는 공연의 기획자로 생각하자.

 - 공연 기획자는 공연 참여자인 구현 객체들을 모두 알아야 한다.

반응형