인프런 커뮤니티 질문&답변

김윤식님의 프로필 이미지
김윤식

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

컨버전 서비스 - ConversionService

ISP와 DefaultConversionService의 연관성

작성

·

263

2

DefaultConversionService 가 왜 ISP 원칙에 연관되어있는지 잘 이해가 가지 않아 질문드립니다.

 

결론적으로 ISP의 경우 인터페이스 분리 원칙, 클라이언트가 자신이 이용하지 않는 메서드에 의존하지 말아야한다인데

DefaultConversionService의 경우 사용과 등록을 모두 사용하고 있습니다, 따라서 두 가지 기능을 모두 사용하게 되는데 결국 두개 다 사용하게 되면 애초에 인터페이스를 분할할 필요가 없게 되는것이 아닌지 궁금합니다.

 

두 개를 분리함으로써 얻게되는 이득에 대해서 다시 한번만 설명이 가능하실지 궁금합니다 ㅠㅠ 감사합니다!

답변 1

4

안녕하세요. 김윤식님, 공식 서포터즈 David입니다.

예를 들어, DefaultConversionService 외에 NormalConversionService가 있고, 해당 서비스는 컨버터 등록만 필요하다면 어떨까요?

만약, 사용, 등록을 모두 가지는 인터페이스만 존재한다면 컨버터 등록과 관련된 기능을 필요로 하는 NormalConversionService는 사용과 관련된 내용까지 다 구현 대상이 됩니다.

그런데 사용과 등록 인터페이스로 분리해 두면, NormalConversionService는 등록에 관한 인터페이스만 구현하면 됩니다.

이것이 인터페이스를 분리함으로써 얻을 수 있는 이익으로 볼 수 있습니다.

감사합니다.

김윤식님의 프로필 이미지
김윤식

작성한 질문수

질문하기