개방 폐쇄 원칙1 스프링 - 관심사의 분리 feat. DI, AppConfig, SOLID 애플리케이션을 하나의 공연이라 생각해보자. 각각의 인터페이스를 배역이라 생각하자. 그런데! 실제 배역 맞는 배우를 선택하는 것은 누가 하는가? 로미오와 줄리엣 공연을 하면 로미오 역할을 누가 할지 줄리엣 역할을 누가 할지는 배우들이 정하는게 아니다. 로미오 역할(인터페이스)을 하는 레오나르도 디카프리오(구현체)가 줄리엣 역할을 하는 여자 주인공(구현체)을 직접 초빙하는건 DIP원칙에서 벗어난다. public class OrderServiceImpl implements OrderService{ /*인터페이스*/ /*구현체*/ private final DiscountPolicy discountPolicy = new FixDiscountPolicy(); ... } /* 로미오 역할을 디카프리오는 (OrderS.. 2022. 4. 14. 이전 1 다음