OSP1 [Java] 객체지향적 설계의 의존 관계(DIP, OCP, DI) 김영한의 스프링 강의를 보면서 클론 코딩을 해보던 중에 할인 정책을 변경하기 위해 "OrderServiceImpl"클래스의 코드를 수정하였다. 강의를 듣는 중에 이렇게 하면 될것이다? 라는 생각으로 구현을 했는데 강의 도중 이 부분은 객체지향적 설계의 DIP 위반을 했다는 점이다. 역할(interface)와 구현체(impl)을 충실하게 분리 했다. -> OK! 다형성 활용, 인터페이스, 구현 객체를 분리 했다. -> OK! OCP, DIP 같은 객체 지향적 설계원칙을 준수했다. -> 그렇게 느꼈지만, 사실은 아니다. 왜 문제일까? DIP: 주문서비스 클라이언트(OrderServiceImpl)은 'DiscountPolicy' 인터페이스에 의존하여 DIP 원칙을 지킨것 같은데? 클래스 의존 관계를 분석해보았.. 2024. 1. 2. 이전 1 다음