p..48, p.77
- 다형성으로 인해 의존성을 역전시킬 수 있게 되었다.
- 즉, 의존성이 반드시 고수준에서 저수준으로 향하지 않아도 된다.
- 의존성을 자유롭게 컨트롤할 수 있다.
- 도메인으로 의존을 향하게 만들어야 한다.
- 의존성은 변경으로부터 보호하려는 컴포넌트를 향하도록 그려진다.
- 즉, 도메인은 변경에 영향을 받지 않도록 만들어야 한다.
Presenter
에서 발생한 변경으로부터 Controller
를 보호하기 위해, Presenter
가 Controller
에 의존하도록 만들었다.
- 왜
Interactor
가 가장 보호받아야 하는가 ?
- 비즈니스 룰을 포함하기 때문에.
- 애플리케이션에서 가장 높은 수준의 정책을 포함한다.
p.79
- 추이 종속성(transitive dependency)는 좋지 않다.
- ‘소프트웨어 엔티티는 자신이 직접 사용하지 않는 요소에는 절대로 의존해서는 안된다'는 소프트웨어 원칙을 위반하게 된다.