스프링 핵심 원리(기본편)

Ch03. 스프링 핵심 원리 이해(객체 지향 원리 적용) - 새로운 구조와 할인 정책 적용

webmaster 2022. 2. 16. 12:25
728x90
  • AppConfig의 등장으로 애플리케이션이 크게 사용 영역과, 객체를 생성하고 구성(Configuration)하는 영역으로 분리되었다.
  • 구체 클래스 변경 전
  • 구체클래스 변경 후
  • AppConfig 수정
    • 해당 구현체를 생성해 주는 부분만 변경하면 된다
  • FixDiscountPolicy RateDiscountPolicy로 변경해도 구성 영역만 영향을 받고, 사용 영역은 전혀 영향을 받지 않는다.
  • AppConfig에서 할인 정책 역할을 담당하는 구현을 FixDiscountPolicy RateDiscountPolicy 객체로 변경했다.
  • 이제 할인 정책을 변경해도, 애플리케이션의 구성 역할을 담당하는 AppConfig만 변경하면 된다. 클라이언트 코드인 OrderServiceImpl를 포함해서 사용 영역의 어떤 코드도 변경할 필요가 없다.
  • 구성 영역은 당연히 변경된다. 구성 역할을 담당하는 AppConfig를 애플리케이션이라는 공연의 기획자로 생각하자. 공연 기획자는 공연 참여자인 구현 객체들을 모두 알아야 한다.
728x90