-
새로운 구조와 할인 정책 적용FrameWork/Spring&Spring-boot 2021. 12. 30. 15:58
- 처음으로 돌아가서 정액 할인 정책을 정률% 할인 정책으로 변경해보자.
- FixDiscountPolicy ->RateDiscountPolicy
- 어떤 부분만 변경하면 되어겠는가?
*AppConfig의 등장으로 애플리케이션이 크게 사용 영역과, 객체를 생성하고 구성(Configuration)하는 영역으로 분리되었다.
사용,구성의 분리
할인 정책의 변경
- 'AppConfig'에서 할인 정책 역할을 담당하는 구현을 'FixDiscountPolicy' -> 'RateDiscountPolicy'객체로 변경했다.
- 이제 할인 정책을 변경해도, 애플리케이션의 구성 역학을 담당하는 AppConpig만 변경하면 된다. 클라이언트 코드인'OrderServiceImpl'를 포함해서 '사용영역'의 어떤 코드도 변경할 필요가 없다.
- 구성영역은 당연히 변경된다. 구성 역할을 담당하는 AppConfig를 어플리케이션이라는 공연의 기획자로 생각하자 공연기획자는 공연 참여자인 구현 객체들을 모두 알아야 한다.
[출처 : 김영한. 스프링 핵심 원리-기본편. 인프런]
'FrameWork > Spring&Spring-boot' 카테고리의 다른 글
Ioc DI,그리고 컨테이너 (0) 2021.12.31 좋은 객체 지향 설계의 5가지 원칙 적용 (0) 2021.12.31 AppConfig 리팩터링 (0) 2021.12.30 관심사의 분리 (0) 2021.12.30 스프링 핵심 원리 이해2 - 객체 지향 원리 적용 (0) 2021.12.29