-
카테고리
-
세부 분야
백엔드
-
해결 여부
해결됨
Service레이어를 인터페이스로 추상화 하는 이유는 무엇인가요?
20.09.27 20:13 작성 조회수 942
33
저장소는 DIP를 이용해 손쉬운 교체를 하기 위함은 충분히 이해가 됐습니다. 하지만 현재 교체 가능성이 없는 Service클래스를 추상화하고 구현하는 이유가 있을까요?
어떤 기준으로 추상화하고 구현하시는지 궁금합니다.
답변을 작성해보세요.
33
김영한
지식공유자2020.09.28
안녕하세요. Dev.Kim님^^
누군가 이 질문을 해주어야 하는데, 하고 기다리고 있던 질문입니다. ㅎㅎ
제가 객체 지향 설계와 스프링 마지막에서 말씀드렸던 내용이 기억나실꺼에요.
* 이상적으로는 모든 설계에 인터페이스를 부여하자
실무 고민
* 하지만 인터페이스를 도입하면 추상화라는 비용이 발생한다.
* 기능을 확장할 가능성이 없다면, 구체 클래스를 직접 사용하고, 향후 꼭 필요할 때 리팩터링해서 인터페이스를 도입하는 것도 방법이다.
강의에서는 이상적으로 역할과 구현을 분리한는 것에 초점을 맞추어서 이런 부분들도 분리했습니다. 저도 실무에서는 교체 가능성이 없는 서비스 클래스는 구체 클래스로 바로 만드는 것을 선호합니다^^
도움이 되셨길 바래요.
18
3
1
답변 4