5. 새로운 구조와 할인 정책 적용 처음으로 돌아가서 정액 할인 정책을 정률% 할인 정책으로 변경해보자. FixDiscountPolicy -> RateDiscountPolicy 우리는 좋은 객체 지향 설계를 위해 DIP와 OCP원칙을 지키기 위해 구성 영역(AppConfig)를 만들었다. AppConfig의 등장으로 애플리케이션이 크게 사용 영역과, 객체를 생성하고 구성(Configuration)하는 영역으로 분리되었다. 그림 - 사용, 구성의 분리 그림 - 할인 정책의 변경 **할인 정책 변경 구성
목차 스프링이란? 좋은 객체 지향 프로그래밍이란? 좋은 객체 지향 설계의 다섯가지 원칙(SOLID) 객체 지향 설계와 스프링 1. 스프링이란? 1-1. 스프링 JAVA의 웹 프레임워크로 JAVA 언어를 기반으로 사용 JAVA로 다양한 어플리케이션을 만들기 위한 프로그래밍 틀 스프링의 특징 IoC 컨테이너(IOC를 구현하는 프레임워크)로서 객체를 직접 관리. 객체 생성, 소멸 같은 생명주기 관리, 의존성 관리 IOC(Inversion of Control) 제어권의 역전. 제어권이 스프링 프레임워크에 있음. 개발자가 제어권을 가지지 않음. 객체가 내부적으로 조작할 객체를 직접 생성하는 것이 아니라 외부로부터 주입받는 것. 이때 객체를 외부로부터 주입해주는 작업을 DI라고 함. DI(Dependency Injection) 의존성 주입. 계층이나 서비스 간에 의존성이 존재할 경우 스프링 프레임워크가 서로 연결 AOP