[DDD/도메인 주도 설계] 🏛️ chap2. 아키텍처 개요 - DIP
·
DDD
CHAPTER 2. 아키텍처 개요2. DIP| Dependency Inversion Principle, 의존 역전 원칙 고수준 모듈이 제대로 동작하려면 저수준 모듈을 사용해야 한다. 그런데, 고수준 모듈이 저수준 모듈을 사용하면 앞서 계층 구조 아키텍처에서 언급했던 두 가지 문제(구현 변경과 테스트가 어려움)가 발생한다. DIP는 이 문제를 해결하기 위해 저수준 모듈이 고수준 모듈에 의존하도록 바꾼다. 고수준 모듈을 구현하려면 저수준 모듈을 사용해야 하는데, 반대로 저수준 모듈이 고수준 모듈에 의존하도록 하려면 추상화한 인터페이스를 사용해야 한다. CalculateDiscountService 입장에서 룰 적용을 Drools로 구현했는지, Java로 직접 구현했는지는 중요하지 않다.단지, '고객 정보와 구..