10장 ISP: 인터페이스 분리 원칙
Last updated
Last updated
인터페이스 분리 원칙은 클라이언트가 자신이 이용하지 않는 메서드에 의존하지 않아야 한다는 원칙이다
이건 이해를 쉽게 하려면 클라이언트가 자신이 이용하지 않는 메서드에 의존 '하는' 상황을 보면 바로 이해할 수 있다.
'만들면서 배우는 클린 아키텍처' 에서는 이를 두고 '넓은' 의 수식어를 사용한다. User1, User2, User3 은 각각 op1, op2, op3 만을 사용하고 각각 여기에만 의존하면 되는데 OPS 가 op1, op2, op3 모두를 가지고 있음으로 인해서 불필요한 의존관계들이 만들어진 모습이다.
그래서 위와 같이 분리를 해주면 불필요한 의존 관계를 제거할 수 있게 된다.
좋은 아키텍처의 핵심 중 하나는 수정이 발생했을때 수정 비용이 최대한 저렴해야한다는 것이다. 수정 비용이 저렴하기 위해서는 당연히 최대한 분리 되어 있는 것이 유리하고 ISP 를 지킨다면 분리에 최선을 다하는 것이 되니까 결국 좋은 아키텍처에 가까워진다고 말할 수 있다.