Junit5 부터는 DisplayName에 한글을 사용할 수 있따
바뀐 할인 정책을 사용해보쟈
문제점 ?????
1. 역할과 구현을 충실하게 분리했다. => OK
2. 다형성을 활용하고, 인터페이스와 구현 객체를 분리했다. => OK
3. OCP, DIP 같은 객체지향 설계 원칙을 충실히 준수했다 => ....................?????
DIP: 주문서비스 클라이언트 OrderSercviceImpl는 DiscountPolicy인퍼테이스에 의존을 하며
DIP를 지킨것 같지만....
클래스 의존관계를 분석해보면 인터페이스 뿐만 아니라, 구현클래스에도 의존하고 있다....
OCP: 확장에는 열려있으나 변경에는 닫혀있어야 하는데.. 정책을 변경하는 순간
OrderServiceImpl.. 클라이언트 코드를 변경했음 . 따라서 OCP를 위반한다고...
그렇다면 어떻게 이 문제를 해결할 수 있을까!?!?!?!?!??!?!!!
인터페이스에만 의존하도록 코드를 변경해보았지만
이제는 널포인트가 뜨는 .... 쥬르릌 쥬르릌
구체화된 객체가 없는데 어캐 해결을 해야할까요
어떻게 이 문제를 해결할 수 있을까!?!?!?!?!??!?!!! 22222222222222222222222
'백엔드개발자 > SPRING, JPA 등...' 카테고리의 다른 글
AppConfig 리팩토링 (0) | 2022.01.11 |
---|---|
AppConfig 와 의존성 주입, 구현체가 아닌 추상화에만 의존 (0) | 2022.01.03 |
주문과 할인 도메인 실행과 테스트 (0) | 2021.12.28 |
주문과 할인 도메인 설계 (0) | 2021.12.28 |
회원도메인 개발과 실행2 (JUnit) (0) | 2021.12.26 |